朴素贝叶斯(naive bayes)法是基于贝叶斯定理与特征条件独立假设的分类方法。
优点:在数据较少的情况下仍然有效,可以处理多分类问题。
缺点:对入输入数据的准备方式较为敏感。
使用数据类型:标称型数据。
下面从一个简单问题出发,介绍怎么使用朴素贝叶斯解决分类问题。
一天,老师问了个问题,只根据头发和声音怎么判断一位同学的性别。
为了解决这个问题,同学们马上简单的统计了7位同学的相关特征,数据如下:
头发 声音 性别
长 粗 男
短 粗 男
短 粗 男
长 细 女
短 细 女
短 粗 女
长 粗 女
长 粗 女
这个问题之前用决策树做过了,这里我们换一种思路。
要是知道男生和女生头发长短的概率以及声音粗细的概率,我们就可以计算出各种情况的概率,然后比较概率大小,来判断性别。
假设抽样样本足够大,我们可以近似认为可以代表所有数据,假设上位7位同学能代表所有数据,这里方便计算~
由这7位同学,我们马上得出下面表格概率分布。
性别 头发长 声音粗
男 1/3 1
女 3/5 3/5
假设头发和声音都是独立特征,于是
男生头发长声音粗的概率=3/81/31=1/8
女生头发长声音粗的概率=5/83/53/5=9/40
因为1/8<9/40所以如果一个人,头发长,声音粗,那么这个人更可能是女生,于是出现这些特征就是女生。其他特征依次类推。
这就是朴素贝叶斯分类方法。是的,就是这么简单。
下面来解释原理,先看贝叶斯公式:
这里写图片描述
公式中,事件Bi的概率为P(Bi),事件Bi已发生条件下事件A的概率为P(A│Bi),事件A发生条件下事件Bi的概率为P(Bi│A)。
带入我们的例子中,判断头发长的人性别:
P(男|头发长)=P(头发长|男)*P(男)/P(头发长)
P(女|头发长)=P(头发长|女)*P(女)/P(头发长)
判断头发长、声音粗的人性别:
P(男|头发长声音粗)=P(头发长|男)P(声音粗|男)*P(男)/P(头发长声音粗)
P(女|头发长声音粗)=P(头发长|女)P(声音粗|女)*P(女)/P(头发长声音粗)
可以看到,比较最后比较概率,只用比较分子即可。也就是前面计算头发长声音粗的人是男生女生的概率。
参考文献:
https://blog.csdn.net/qq_36671300/article/details/89306309