如果您使用的是 nltk 软件包,那么您似乎可以使用recall
and precision
函数来自nltk.metrics.scores
(请参阅文档 http://www.nltk.org/api/nltk.metrics.html).
调用后函数应该可用
from nltk.metrics.scores import (precision, recall)
然后你需要打电话给他们reference
(已知标签)和test
(测试集上分类器的输出)集。
像下面的代码这样的东西应该产生这些集合refsets
and testsets
refsets = collections.defaultdict(set)
testsets = collections.defaultdict(set)
for i, (feats, label) in enumerate(testing_set):
refsets[label].add(i)
observed = classifier.classify(feats)
testsets[observed].add(i)
然后,您可以使用类似的内容查看正面预测的精确度和召回率
print( 'Precision:', nltk.metrics.precision(refsets['pos'], testsets['pos']) )
print( 'Recall:', nltk.metrics.recall(refsets['pos'], testsets['pos']) )
# `'pos'` is for the "positive" (as opposed to "negative") label