朴素贝叶斯分类器
来源:互联网 发布:淘宝我的空间怎么设置 编辑:程序博客网 时间:2024/06/02 02:15
假设有N种可能的类别标记,记为 现有一个样本x给定其各个属性的取值,d为x所包含的属性的数目,若将x归为第c类的第k个属性,则有
(1)
然后根据计算每个属性的概率,取最大的概率值作为x属于的c类的值。朴素贝叶斯分类器的最基本最核心的思想是“假设已有样本中各个属性之间独立”,由此有:
(2)
又因为p(x)都是相同的,所以贝叶斯判定准则为
(3)
即判定准则取最大时x属于的类别 ;
估计类的先验概率P(c)的计算是基于训练集D的,并为每个属性估计条件概率 。
令 表示训练集D种c类样本的集合,若有充足的独立同分布样本,则有
(4)
对于离散属性而言,令表示中在第i个属性上的取值的样本集合,则有
(5)
对于连续属性考虑概率密度函数,假定,其中利用极大似然估计对参数进行计算有:
(6)
所以:
(7)
同时是一个属性的连乘过程,对于第i个属性可能会存在在c类中没有出现过,但是将含有i个属性的样本x放入c的概率计算为0显然是不合理的,所以可进行“平滑处理”,常用的方法为“拉普拉斯修正”,具体来说,令N表示训练集D中可能含有的类别数(c的个数), 表示第i个属性的取值数,则(4)(5)修正如下:
(8)
(9)
实例
数据集如下:
从该数据集计算得到的先验概率以及每个离散属性的类条件概率、连续属性的类条件概率分布的参数(样本均值和方差)如下:
先验概率:P(Yes)=0.3;P(No)=0.7
P(有房=是|No) = 3/7
P(有房=否|No) = 4/7
P(有房=是|Yes) = 0
P(有房=否|Yes) = 1
P(婚姻状况=单身|No) = 2/7
P(婚姻状况=离婚|No) = 1/7
P(婚姻状况=已婚|No) = 4/7
P(婚姻状况=单身|Yes) = 2/3
P(婚姻状况=离婚|Yes) = 1/3
P(婚姻状况=已婚|Yes) = 0
年收入:
如果类=No:样本均值=110;样本方差=2975
如果类=Yes:样本均值=90;样本方差=25
现有新样本:
X={有房=否,婚姻状况=已婚,年收入=120K},通过计算确定是否存在拖欠贷款的行为:
所以p(年收入=120k|NO)
p(年收入=120k |YES)=
同时P(婚姻状况=已婚|Yes) = 0,计算时会存在乘的现象,主要是因为样本不够大,此时便可采用“拉普拉斯修正”进行平滑处理。
所以对于P(婚姻状况=已婚|Yes) 来说:
:表示在YES中婚姻状况为已婚的人数=0;
:表示婚姻状况可能的取值数=2(yes or no)
:yes类中包含的样本数=3
所以根据拉普拉斯修正有:P(婚姻状况=已婚|Yes)
所以:
P(No)*P(有房=否|No)*P(婚姻状况=已婚|No)*P(年收=120K|No)=0.7*4/7*4/7*0.684=0.156
P(Yes)*P(有房=否|Yes)*P(婚姻状况=已婚|Yes)*P(年收入=120K|Yes)=0.3*1*0.2*1=0.06
因为0.156>0.06,故认为该样本属于NO,即没有拖欠贷款。
- 朴素贝叶斯分类器
- 朴素贝叶斯分类器
- 朴素贝叶斯分类器
- 朴素贝叶斯分类器
- 朴素贝叶斯分类器
- 朴素贝叶斯分类器
- 朴素贝叶斯分类器
- 朴素贝叶斯分类器
- 朴素贝叶斯分类器
- 朴素贝叶斯分类器
- 朴素贝叶斯分类器
- 朴素贝叶斯分类器
- 朴素贝叶斯分类器
- 朴素贝叶斯分类器
- 朴素贝叶斯分类器
- 朴素贝叶斯分类器
- 朴素贝叶斯分类器
- 朴素贝叶斯分类器
- 会动的圆
- navigator对象
- NYOJ 过河问题
- 入阵曲+将军令
- 2输入一个字符判断是否属于a-zA-Z之间如果是请是属于a-z还是A-Z并且输出值。
- 朴素贝叶斯分类器
- python里使用正则表达式的前向搜索否定模式
- 大规模机器学习(二)
- codeforces 877D
- UART串口通信
- mysql数据库操作(二)
- BZOJ4256 推箱子
- vim 宏
- 获取文件信息