在为test set
运行6个模型后,我在binary classification problem
上具有以下评估指标:
accuracy logloss AUC
1 19% 0.45 0.54
2 67% 0.62 0.67
3 66% 0.63 0.68
4 67% 0.62 0.66
5 63% 0.61 0.66
6 65% 0.68 0.42
我有以下问题:
1
如何建模就logloss
而言最好(logloss
最接近0),因为它表现最差(就accuracy
而言)。这是什么意思?6
的得分比AUC
更低。型号5
,而型号6
更好accuracy
。这是什么意思?非常简短,带有链接(因为其中的一部分已经在其他地方讨论过...
[
1
如何建模就logloss
而言最好(logloss
最接近0),因为它表现最差(就accuracy
而言)。这是什么意思?
尽管损失是准确性的代理(反之亦然),但在这种情况下,它不是非常可靠的。仔细研究准确度和损失之间的具体机制可能很有用;考虑以下SO线程(免责声明:我的回答):
详细说明:
[假定具有真实标签y=1
的样本,来自p=0.51
的分类器的概率预测以及判定阈值为0.5(即,对于p>0.5
,我们将其分类为1
,否则分类为0
),该样本对精度的贡献为1/n
(即正数),而损失为
-log(p) = -log(0.51) = 0.6733446
现在,再次假设另一个样本为y=1
为真,但现在的概率预测为p=0.99
;对准确性的贡献将是相同的,而现在的损失将是:
-log(p) = -log(0.99) = 0.01005034
因此,对于两个都正确分类的样本(即,它们以完全相同的数量对准确性有积极的贡献,我们在相应的损失上有相当大的差异...
尽管您在此处呈现的内容似乎是极端的,但不难想象这样的情况:y=1
的许多样本将在p=0.49
的区域附近,因此损耗相对低,但是尽管如此,对准确性的贡献为零...
模型
6
的得分比AUC
更低。型号5
,而型号6
更好accuracy
。这是什么意思?
这比较容易。
至少根据我的经验,大多数机器学习从业者认为AUC评分与实际上是]有所不同:>常见(和不幸的)用法与其他任何更高的指标一样,例如准确性,这自然会导致您表达自己的困惑。
事实是,粗略地说,AUC衡量二进制分类器的性能在所有可能的决策阈值上平均]。因此,AUC并没有实际衡量特定部署模型(包括所选决策阈值)的性能,而是整个所有阈值的模型平均性能(当然,绝大部分是对您不感兴趣,因为它们将永远不会使用。
由于这个原因,AUC已经开始受到文学界的严厉批评(请不要误解这一点-对[[ROC曲线本身的分析是非常有用的和有用的)”;强烈建议阅读Wikipedia entry和其中提供的参考资料:因此,AUC量度的实用价值受到质疑,这增加了AUC可能在机器学习分类准确性比较中实际引入比分辨率更多的不确定性的可能性。
[...]对ROC AUC问题的最新解释是将ROC曲线减小为一个数字会忽略这一事实,即它是关于不同系统或绘制的性能点之间的权衡,而
不是单个系统的性能
重点词组-另请参阅On the dangers of AUC ...简单的建议:
不要使用
。
是否有办法说出这6个模型中哪一个最好?
取决于“最佳”的确切定义;如果“最佳”的意思是适用于您自己定义的问题的指标。这可以never是AUC,通常它也不是损失...最适合我要解决的业务问题
(不是MLpractitioner
的非理性定义),那么根据business