首页 > 解决方案 > sklearn multinomialnb中的似然概率如何计算?

问题描述

我们可以使用 class_log_prior 和 feature_log_prob_ 打印类概率和特征概率(可能性)。当我尝试将自己的计算与 MultinomialNB sklearn 进行比较时,类日志先验是匹配的,但与特征日志概率不匹配。我已经观看了有关此的 youtube 视频,并在此处按照他们网站上的方程式http://scikit-learn.org/stable/modules/naive_bayes.html#multinomial-naive-bayes但是,我们的功能日志概率值并不相同. 我有很多功能,它是分类的,比如 word、postag、nextword、nextnextword、bigram 等。

我从阅读方程式中得到的是

P(X|y)=(y类中特征X的数量+alpha)/(y类中所有特征的数量+所有类中唯一特征的数量)

因此,如果我有功能 Word:Hello 并且我的类是命名实体 OTHER,并且我将 alpha 设置为 1.0,它将变为:

P(word:hello|OTHER)=(OTHER类中Word:Hello的数量+1)/(OTHER类中所有特征的数量+所有类中唯一特征的数量)

这个对吗?或者我在表示具有多个特征的方程时可能是错误的?以前有人算过吗?或者也许可以在excel中举一些例子?

标签: pythonscikit-learnnaivebayesmultinomial

解决方案


推荐阅读