Python 基于NLTK的朴素贝叶斯句子概率计算
我正在看NLTK中朴素贝叶斯分类器的源代码Python 基于NLTK的朴素贝叶斯句子概率计算,python,nltk,naivebayes,Python,Nltk,Naivebayes,我正在看NLTK中朴素贝叶斯分类器的源代码 http://www.nltk.org/_modules/nltk/classify/naivebayes.html 在顶部,他们解释了他们计算概率的方法 我想了解,这个算法是如何计算我的语料库的概率的 我(目前)有大约500个文本文件,其中的句子标记为肯定句,198个标记为否定句 所以概率p(pos)是500/619,p(neg)是198/618。到目前为止还不错 p(f1 | label)是一个特征(在我的例子中是一个单词)出现在标有pos的句子
http://www.nltk.org/_modules/nltk/classify/naivebayes.html
在顶部,他们解释了他们计算概率的方法
我想了解,这个算法是如何计算我的语料库的概率的
我(目前)有大约500个文本文件,其中的句子标记为肯定句,198个标记为否定句
所以概率p(pos)是500/619,p(neg)是198/618。到目前为止还不错
p(f1 | label)是一个特征(在我的例子中是一个单词)出现在标有pos的句子中的概率,对吗
因此,如果在我的500个文本文件中,我总共有3000个独特的单词,在所有标记为ps的句子中有4500个单词,并且这个单词在标记为pos的句子中出现了70次,那么这个概率是70+1/(3000+4500),对吗
然后它说“不是显式地计算p(features),算法只是
计算每个标签的分母,并对其进行规格化,以便
总和为一:
"
这有什么用?这到底是什么意思
鉴于“这是一个非常危险的影响”这句话,它应该被标记为pos。
根据上面使用的数字,这句话成为pos的概率为:
(500/619)*p(这个|位置)*(是|位置)*(a |位置)。。。等/(无论金额(L)是什么意思)
对吗
还有一个问题:我在这里读到NLTK使用多项式朴素贝叶斯。您如何从源代码中分辨出来?对于二项式朴素贝叶斯,您可以在正反示例中计算某个特征的存在或不存在,而对于多项式,您可以使用MLE计算其概率。@Riyaz感谢您的回答!你知道和[l](P(l)*P(f1 | l)*……*P(fn | l))部分是什么意思吗?对于二项式朴素贝叶斯,你可以在正反例子中计算特征的存在与否,而对于多项式,你可以使用极大似然法计算其概率。@Riyaz谢谢你的回答!你知道SUM[l](P(l)*P(f1 | l)*……*P(fn | l))部分是什么意思吗?