摘要:朴素贝叶斯分类器基于词袋模型,通过词袋模型我们可识别出文本中出现的词属于积极还是消极,若这个词出现在积极的词语列表中,文本的总体分数 +1,若总体分数为正,该段文本被分类为积极,反之亦然。

朴素贝叶斯分类器基于词袋模型,通过词袋模型我们可识别出文本中出现的词属于积极还是消极,若这个词出现在积极的词语列表中,文本的总体分数 +1,若总体分数为正,该段文本被分类为积极,反之亦然。

朴素贝叶斯分类器不考虑仅仅小部分的积极或消极的词语,而关注朴素贝叶斯模型训练集中全部的词语。如果一个词语没有出现在训练集中,应用拉普拉斯平滑(用 1 代替词语的条件概率)处理。

一篇文档属于类别 C 的概率:
基于朴素贝叶斯分类器的情感分析-数据分析网

朴素贝叶斯文本分类

首先用”train()”函数输入 X 或 Y 的值, X 为包含了文档中所有词语的列表, Y为每个文档的分类标签的列表。
基于朴素贝叶斯分类器的情感分析-数据分析网
基于朴素贝叶斯分类器的情感分析-数据分析网
基于朴素贝叶斯分类器的情感分析-数据分析网
基于朴素贝叶斯分类器的情感分析-数据分析网
分类器通过训练集中所有文档的更新完成训练,并在所有文档中,建立每个类别的每个词语相对出现次数的的散列表(即python中的字典)。

  1. 每个类别中建立一个包含所有出现的词语列表。
    基于朴素贝叶斯分类器的情感分析-数据分析网
  2. 用”calculate_relative_occurences“方法计算列表中每个词语出现的相对次数,应用python的counter模块,计算每个词语出现的次数并除以所有词语的数量,结果保存在字典 nb_dict 中,它包含了朴素贝叶斯分类器的训练结果。
    分类新的文档也很容易,先计算每个类别的分类概率,然后选择概率最大的类别。
    基于朴素贝叶斯分类器的情感分析-数据分析网
    基于朴素贝叶斯分类器的情感分析-数据分析网

作者:ataspinar