有什么方法可以使用nltk.NaiveBayesClassifier.classify来获取个体概率吗?我想看看分类的可能性,尝试做一个信心量表。显然,使用二进制分类器,决策将是一个或另一个,但是有什么方法可以看到决策的内部运作方式吗?还是我只需要写我自己的分类器?
谢谢
发布于 2013-12-25 13:56:14
nltk.NaiveBayesClassifier.prob_classify怎么样?
classify
classify调用此函数:
def classify(self, featureset):
return self.prob_classify(featureset).max()编辑:像这样的应该可以工作(没有测试):
dist = classifier.prob_classify(features)
for label in dist.samples():
print("%s: %f" % (label, dist.prob(label)))发布于 2021-10-27 22:29:33
我知道这太旧了。但是当我挣扎了一段时间才发现这个问题时,我分享了这段代码。
它给出了朴素贝叶斯分类器中各特征的概率关联。它帮助我更好地理解show_most_informative_features是如何工作的。对每个人来说,这都是最好的选择(这也是他们创造这个功能的原因)。无论如何,对于像我这样必须查看每个标签和单词的个体的人,您可以使用以下代码:
for label in classifier.labels():
print(f'\n\n{label}:')
for (fname, fval) in classifier.most_informative_features(50):
print(f" {fname}({fval}): ", end="")
print("{0:.2f}%".format(100*classifier._feature_probdist[label, fname].prob(fval)))https://stackoverflow.com/questions/20773200
复制相似问题