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

How to interpret scored probabilities in machine learning classification algorithm?

我正在使用两个神经网络进行两个 class 文本 class 化。我在测试数据上获得了 90% 的准确率。还使用不同的性能指标,如精度、召回率、f 分数和混淆矩阵来确保模型按预期执行。

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

例如: class(概率),class 2(概率)-> 预测 class

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

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

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

Example

根据我目前的理解,通过查看我们可以判断的概率,模型对其 prediction.And 90% 的准确性意味着 100 条记录中 10 个预测可能出错。

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

我想要实现的是,给你一些指标来告诉 him/her 这个预测可能是错误的,他们可能想在使用之前将其更改为其他 class这些结果。

90% accuracy means out 100 records 10 predictions could go wrong.

不完全是这样;准确性总是(尽管隐含地)与我们用来衡量它的 specific 测试集相关联:因此,90% 意味着在 100 条记录中我们的分类器确实错误分类了 10 条(即没有"could").

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

What I'm trying to achieve is, to give end your some metric to tell him/her that this prediction is probably wrong, they might want to change it to some other class before using these results.

凭直觉,您应该已经知道这个问题的答案:将返回的概率解释为置信度(这至少在原则上不是无效解释),它们的值告诉您一些关于 "certain" 您的模型是关于它的答案:所以,你可以做的就是为最终用户提供这些概率值;在您的示例中,"Question" 概率为 0.97 的情况在质量上确实与概率为 ~ 0.50...

的情况 "Question" 不同