我正在尝试使用此链接了解NLTK。我无法理解如何计算feature_probdist和show_most_informative_features的值。
当“最佳”一词未出现时,Esp如何计算出0.077的可能性。我很久以前就一直在努力
答案 0 :(得分:0)
这是因为它正在解释来自NLTK源代码的代码,但没有显示所有代码。 full code is available on NLTK's website(也在您引用的文章中链接)。这些是the NaiveBayesClassifier class within NLTK的方法和方法(分别)中的字段。这个类当然使用Naive Bayes classifier,它基本上是Bayes Theorum的修改,强烈(天真)假设每个事件都是独立的。
feature_probdist
=“P(fname = fval | label),给定标签的特征值的概率分布。它表示为一个字典,其键是(label,fname)对及其值ProbDistIs是特征值。即,P(fname = fval | label)= feature_probdist [label,fname] .prob(fval)。如果给定(label,fname)不是feature_probdist中的键,则假定对于所有fval值,对应的P(fname = fval | label)为0。“
most_informative features
返回“此分类器使用的”信息量最大“的功能列表。出于此功能的目的,功能(fname,fval)的信息量等于最高值P(fname = fval | label),对于任何标签,除以P的最低值(fname = fval | label),对于任何标签:“
max[ P(fname=fval|label1) / P(fname=fval|label2) ]
查看the source code for the entire class如果仍然不清楚,文章的目的不是要深入分析NLTK如何深入工作,而只是提供一个如何使用它的基本概念。