快捷搜索: 王者荣耀 脱发

数据挖掘之朴素贝叶斯算法

1.贝叶斯公式推理:

A和B是两个事件,在B发生的条件下,A发生的条件概率记为

条件概率: (1)

条件概率: (2)

(2)式得将其代入(1)得到贝叶斯公式:

可以写为

表示没有使用数据来训练分类器之前y的初始概率,称为先验概率。 是样本x相对于类别y的类条件概率,称为似然。 是给定x时y成立的概率,称为后验概率。 是归一化的证据因子。

2.朴素贝叶斯分类实现步骤:

朴素贝叶斯处理:假设x中的特征是条件独立的,各类数据中,各特征的条件概率 ① 设为一个待分类项,而每个x都为特征属性。 ② 类别集合,计算先验概率 ③ 根据贝叶斯公式,计算各特征的各条件概率的乘积, , 因为分母对于所有类别为常数,因为我们只要将分子最大化皆可。又因为各特征属性是条件独立的,所以有: ④ 如果,则。也就是结果中的最大值就是该样本所属的类别。 ⑤ 使用规范化方法计算的概率。

3.例题:

以下是某公司招录人员的信息表,将其作为训练集,运用朴素贝叶斯算法实现预测新样本

是否被录用。

性别 学历 学校 经验 是否录用 男 本科 985 无 是 女 本科 211 无 是 男 研究生 普通院校 有 是 男 大专 普通院校 有 否 女 本科 985 无 是 男 研究生 普通院校 有 是 男 本科 211 无 是 男 大专 普通院校 有 否 男 本科 普通院校 无 否 女 本科 普通院校 有 否 男 本科 211 无 是 男 研究生 211 无 是

假设全部属性都对决策有着相同的重要性,且相互条件独立。

① 按照训练样本的类别统计每个属性的取值次数,统计结果如下表所示:

性别x1 学历x2 学校x3 经验x4 是否录用 是 否 是 否 是 否 是 否 是 否 男 6 3 大专 0 2 985 2 0 有 2 3 8 4 女 2 1 本科 5 2 211 4 0 无 6 1 研究生 3 0 普通院校 2 4

② 计算先验概率。有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单词的邮件是非垃圾邮件的概率:

经验分享 程序员 微信小程序 职场和发展