使用朴素贝叶斯进行文档分类
2017-12-27 15:22
246 查看
朴素贝叶斯文档分类github代码
朴素(naive)贝叶斯之朴素
这里的朴素一词是指,即一个特征或者某个词条(token)的出现的可能性与它和其他单词的相邻性没有关系(当然,这个假设是不合理的,就如水果一词出现在健康一词周围的概率就明显高于出现在不健康一词周围的概率),另外需要补充的是,这里的每一个特征也假设是同等重要的(也就是说每一个词条只考虑出现与否(set-of-words model),而不会统计它所出现的次数(bag-of-words model)),这个假设同样存在瑕疵,就好像一篇文档中,文档(段落)首段(首句)和末段(末句)的词汇要比其他段落(语句)重要。但我要强调的是,这样的假设的朴素贝叶斯算法的效果却还不错。
算法训练
需要用到的符号,Wi=(ωi0, ωi1, ωi2, ⋯, ωin)为一个文档向量,其中i表示第i个文档,n表示词典大小; ci表示第i个类别。那么,
p(ci|Wj) = p(Wj|ci)p(ci)p(Wj),进一步地,通过朴素贝叶斯假设,我们可以将上式写为p(ωj0|ci)∗p(ωj1|ci)∗p(ωj2|ci)∗⋯∗p(ωjn|ci)∗p(ci)p(Wj),其中p(Wj)为常数
这样就可以计算出文档为类别ci的可能性大小了,接下来就只需要求,maxnp(ci|Wj),其中n为类别的数目
朴素(naive)贝叶斯之朴素
这里的朴素一词是指,即一个特征或者某个词条(token)的出现的可能性与它和其他单词的相邻性没有关系(当然,这个假设是不合理的,就如水果一词出现在健康一词周围的概率就明显高于出现在不健康一词周围的概率),另外需要补充的是,这里的每一个特征也假设是同等重要的(也就是说每一个词条只考虑出现与否(set-of-words model),而不会统计它所出现的次数(bag-of-words model)),这个假设同样存在瑕疵,就好像一篇文档中,文档(段落)首段(首句)和末段(末句)的词汇要比其他段落(语句)重要。但我要强调的是,这样的假设的朴素贝叶斯算法的效果却还不错。
算法训练
需要用到的符号,Wi=(ωi0, ωi1, ωi2, ⋯, ωin)为一个文档向量,其中i表示第i个文档,n表示词典大小; ci表示第i个类别。那么,
p(ci|Wj) = p(Wj|ci)p(ci)p(Wj),进一步地,通过朴素贝叶斯假设,我们可以将上式写为p(ωj0|ci)∗p(ωj1|ci)∗p(ωj2|ci)∗⋯∗p(ωjn|ci)∗p(ci)p(Wj),其中p(Wj)为常数
这样就可以计算出文档为类别ci的可能性大小了,接下来就只需要求,maxnp(ci|Wj),其中n为类别的数目
相关文章推荐
- 《机器学习实战》4.4使用朴素贝叶斯进行文档分类
- 使用朴素贝叶斯分类器进行文档分类
- 《机器学习实战》4.4使用朴素贝叶斯进行文档分类
- 《机器学习实战》4.4使用朴素贝叶斯进行文档分类
- 【NLP】使用朴素贝叶斯进行文本的分类
- 【机器学习实验】使用朴素贝叶斯进行文本的分类
- 基于朴素贝叶斯算法——进行文档分类
- 机器学习实战之朴素贝叶斯进行文档分类(Python 代码版)
- 朴素贝叶斯案例1:进行文档/评论分类(python实现)
- 使用opennlp进行文档分类
- 使用TF-IDF进行文档分类
- 【机器学习笔记之八】使用朴素贝叶斯进行文本的分类
- 【机器学习】朴素贝叶斯-对文档进行分类
- 利用朴素贝叶斯模型进行文档分类
- 【机器学习实验】使用朴素贝叶斯进行文本的分类
- Hadoop平台运用朴素贝叶斯算法进行文档分类总结
- 使用CountVectorizer并且不去掉停用词的条件下,对文本特征进行量化的朴素贝叶斯分类性能测试
- 使用朴素贝叶斯进行文本的分类
- 使用朴素贝叶斯进行分本分类
- 使用TfidfVectorizer并且不去掉停用词的条件下,对文本特征进行量化的朴素贝叶斯分类性能测试