Python NLTK:如何在分类器预测中检索百分比置信度

Posted

技术标签:

【中文标题】Python NLTK:如何在分类器预测中检索百分比置信度【英文标题】:Python NLTK: How to retrieve percentage confidence in classifier prediction 【发布时间】:2012-06-06 10:43:10 【问题描述】:

我目前正在训练一个 NLTK 分类器来识别运动命令。这些命令可以包括“向左移动”、“请向前移动”、“停止!”、“向右移动”等。

我目前正在使用基于几个关键特征(例如“halt”和“left”的存在)的分类器对信息进行分类,效果很好。

但是,让我们假设给出了以下文本“向左向右移动”。在这种情况下,两个关键字相互冲突,推测分类器在提供其结果预测时应该具有较低的置信度。

因此,在使用<CLASSIFIER>.classify() 之后,有什么方法可以检索其预测“方向”的置信度?

注意:我尝试使用nltk.classify.accuracy(),但它仅用于测试数据集,而不是单个查询。

【问题讨论】:

【参考方案1】:

NLTK 中的一些分类器有一个prob_classify 方法,它返回所有可能结果的概率分布。由此您可以计算置信度分数,例如odds 或log-odds。对于百分比分数,您可以只取最可能结果的概率。

【讨论】:

不过,这并不能说明 NLTK 对答案的信心。它认为竞争分析的可能性有多大。 嗯,我现在正在研究 NLTK 中基于 SVM 的分类器。显然,它有这个 resolve_prediction,它应该返回对猜测的置信度。希望它有效。 @toiletfreak: resolve_prediction 与置信度分数无关。 prob_classify 怎么了?

以上是关于Python NLTK:如何在分类器预测中检索百分比置信度的主要内容,如果未能解决你的问题,请参考以下文章

NLTK 标题分类器

如何以我只训练一次分类器的方式调整 NLTK Python 代码

Python:加载的 NLTK 分类器不起作用

Python NLTK 最大熵分类器错误

NLTK:调整 LinearSVC 分类器的准确性? - 寻找更好的方法/建议

如何更改 NLTK 中朴素贝叶斯分类器的平滑方法?