数据挖掘之朴素贝叶斯算法
1.贝叶斯公式推理:
A和B是两个事件,在B发生的条件下,A发生的条件概率记为
条件概率: (1)
条件概率: (2)
(2)式得将其代入(1)得到贝叶斯公式:
可以写为
表示没有使用数据来训练分类器之前y的初始概率,称为先验概率。 是样本x相对于类别y的类条件概率,称为似然。 是给定x时y成立的概率,称为后验概率。 是归一化的证据因子。
2.朴素贝叶斯分类实现步骤:
朴素贝叶斯处理:假设x中的特征是条件独立的,各类数据中,各特征的条件概率 ① 设为一个待分类项,而每个x都为特征属性。 ② 类别集合,计算先验概率 ③ 根据贝叶斯公式,计算各特征的各条件概率的乘积, , 因为分母对于所有类别为常数,因为我们只要将分子最大化皆可。又因为各特征属性是条件独立的,所以有: ④ 如果,则。也就是结果中的最大值就是该样本所属的类别。 ⑤ 使用规范化方法计算的概率。
3.例题:
以下是某公司招录人员的信息表,将其作为训练集,运用朴素贝叶斯算法实现预测新样本
是否被录用。
假设全部属性都对决策有着相同的重要性,且相互条件独立。
① 按照训练样本的类别统计每个属性的取值次数,统计结果如下表所示:
② 计算先验概率。有2个取值{是,否}分别为
③ 根据贝叶斯公式,计算各特征的各条件概率的乘积
有4个取值{性别,学历,学校,经验}分别为
取值分别为=‘男’, =‘女’
取值分别为=‘大专’, =‘本科’, =‘研究生’
取值分别为=‘985’, =‘211’,=‘普通院校’
取值分别为=‘有’, =‘无’
新样本可以表示为,带球概率分别为
计算过程如下:
所以
所以
④ 由于可知,样本被分类为,会被录取
⑤ 规范化方法计算的概率,就是计算新样本类别分别为和的概率。
根据以下公式计算:
利用朴素贝叶斯算法分类得出该新样本被录取的概率为62.5%,因此可以被录取。
4 .应用:
例如:如下图有12封邮件,其中五封为垃圾邮件Spam 。其中七封为非垃圾邮件NSpam。
① 如上图所示,将所有邮件中出现free与money的标红。
② 计算先验概率
③ 各个词汇的条件概率p(x|y):
在垃圾邮件spam 邮件中,
出现free的概率为 、即;
根据条件概率,计算垃圾邮件中包含free单词的概率,
即
在非垃圾邮件Nspam 邮件中,
出现free的概率为 、 即
根据条件概率,计算垃圾邮件中包含‘free’单词的概率,
即
④ 判断包含某个单词的邮件是否是垃圾邮件及其概率
包含free单词的邮件是垃圾邮件的概率:
包含free单词的邮件是非垃圾邮件的概率:
同理
包含money单词的邮件是垃圾邮件的概率:
包含money单词的邮件是非垃圾邮件的概率: