上一篇文章【机器学习】朴素贝叶斯-条件概率
已经提过了利用朴素贝叶斯进行文档分类的步骤,下面我们来看每个步骤的目的,搞清楚我们要处理的数据满足什么条件,是什么格式,我们所写的每一个函数的入参是什么,处理完成后的出参,即处理结果是什么样的,又是如何将计算的条件概率应用于贝叶斯公式,得到文档所属的类型。
一篇文档属于侮辱性文档还是非侮辱性文档,是根据文档内容判断的,文档由单词构成,判断一篇文档是什么类型也就是判断文档中这些单词出现的情况下,文档属于什么类型,每个单词都看做一个独立特征的话(事实上可能并不是独立的,这里就是用到了朴素贝叶斯假设,假设所有词都是互相独立的,即条件独立性假设,这样一来接下来的事都好办了),这篇文档就有多个特征,特征数就是单词的数量。我们用下面的公式计算条件概率P(w|ci),进而求条件概率P(ci|w)。
P(w|ci)=P(w0,w1,w2..wn|ci)=P(w0|ci)P(w1|ci)P(w2|ci)…P(wn|ci)
首先,分词:文档-->词
我们使用Python的string.split()方法进行分词,并依赖正则表达式处理特殊要求,如空格以及大小写转换。这里的样本数据集为6个已知类别的文档,每个文档均已被分好词。
def loadDataSet():
postingList=[
['my','dog','has','flea','problems','help','please'],
['maybe','not','take','him','to','dog'