如何解释机器学习分类算法中的得分概率?

时间:2017-11-20 08:40:41

标签: machine-learning neural-network classification probability text-classification

我使用两个神经网络进行两类文本分类。我对测试数据的准确率达到了90%。还使用不同的性能指标,如精度,召回,f-score和混淆矩阵,以确保模型按预期执行。

在使用训练模型的预测实验中,我提取每个预测的概率。输出如下(无法提供它在Azure ML Studio中实现的代码)

例如: 类(概率),类2(概率) - >预测班级

1级(0.99),2级(0.01) - > 1级

1级(0.53),2级(0.47) - > 1级

1级(0.2),2级(0.8) - > 2级

Example

根据我的理解,到目前为止,通过查看我们可以判断的概率,该模型对其预测的信心度如何。准确率达到90%意味着100条记录10条预测可能出错。

现在我的问题是,通过查看概率(置信度),我们可以判断当前记录中的哪个桶达到90%(正确预测)或10%(错误预测)?

我想要达到的目的是,告诉他/她这个预测可能是错误的,他们可能希望在使用这些结果之前将其更改为其他类。

1 个答案:

答案 0 :(得分:1)

  

90%的准确度意味着100条记录10条预测可能出错。

这不完全是那样的;准确性始终(虽然含蓄地)链接到我们用来衡量它的特定测试集:因此,90%意味着在100个记录中我们的分类器确实错误分类10(即没有&#34 ;可以"。)

我们希望在机器学习中我们的模型在新的,看不见的数据中的性能将与我们的测试集(我们的模型的培训,也看不见)。粗略地说,只要我们的新数据来自我们的培训和相同的统计分布。测试集,这不是一个不合理的期望。

  

我想要达到的目的是,告诉他/她这个预测可能是错误的,他们可能希望在使用这些结果之前将其更改为其他类。

直观地说,你应该已经知道了答案:将返回的概率解释为置信度(至少在原则上,这不是无效的解释),它们的值告诉你一些关于如何"某些"你的模型是关于它的答案:那么,你能做的就是为最终用户提供这些概率值;在你的例子中,"问题"概率0.97确实在质量上与案例不一致"问题"概率为~0.50 ...