我使用两个神经网络对两类文本进行分类。我对测试数据的准确率达到了90%。此外,还使用不同的性能指标,如精确性、召回性、f-得分和混淆矩阵,以确保模型按预期执行。
在使用经过训练的模型的预测实验中,我获取每个prediction.The输出的概率如下(无法提供在Azure中实现的代码)
例:类(概率),类2(概率) ->预测类
1 (0.99),2 (0.01) -> 1级
类别1 (0.53),类别2 (0.47) -> 1
类别1 (0.2),类别2(0.8) ->类别2
根据我到目前为止的理解,通过观察我们可以判断的概率,关于其prediction.And 90%的准确性的模型有多自信意味着100个记录中的10个预测可能出错。
现在我的问题是,通过观察概率(可信度),我们能判断出当前记录是90%(正确预测)还是10% (错误预测)?
我想要实现的是,给出一些度量来告诉他/她这个预测可能是错误的,他们可能想在使用这些结果之前把它转换成其他类。
发布于 2017-11-20 17:36:20
90%的准确率意味着100个记录,10个预测可能出错。
这并不完全是这样的;准确性总是(尽管含蓄地)与我们用来测量它的特定测试集联系在一起:因此,90%意味着在100条记录中,我们的分类器确实错误地分类了10 (即没有“可以”)。
我们在机器学习中所希望的是,我们的模型在新的、看不见的数据中的性能将与我们的测试集(关于我们模型的培训,也是不可见的)的性能相比较。粗略地说,如果我们的新数据来自与我们的训练和测试集相同的统计分布,这不是一个不合理的期望。
我想要实现的是,给出一些度量来告诉他/她这个预测可能是错误的,他们可能想在使用这些结果之前把它转换成其他类。
直觉上,你应该已经知道了答案:解释返回的概率为信心(至少在原则上,这不是无效的解释),它们的值告诉你“一定”你的模型是如何与它的答案有关的:所以,你可以做的是向最终用户提供这些概率值;在你的例子中,“问题”的概率为0.97实际上与概率为0.50的“问题”的情况不同.
https://stackoverflow.com/questions/47387959
复制相似问题