关于机器学习多分类问题,多分类器模型的评估用什么方法好?

假如要利用决策树进行多分类问题的决策,对于多分类(大于二元的分类)的决策模型是否可以使用准确率或者召回率,或者PR曲线,ROC曲线进行模型性能判断?或者有其他的方法进行多分类器性能的判断。各个分类器的评估方法有什么注意事项和要求? @visio

邹博 - 计算机科学博士,深谙机器学习算法原理

赞同来自: 翔飞天宇 fish

我先抛砖引玉一下: 个人的意见,多分类的评估方法,可以将其转换成“1 vs other”的二分类,从而使用ROC的面积、F1等二分类的指标。

wgb - 机器学习与数据挖掘从业者

赞同来自: 翔飞天宇

来,先上一个链接(机器学习评价指标汇总):http://www.36dsj.com/archives/42271   其实对于对分类问题,很多指标也是通用的。比如混淆矩阵,在二分类问题中,混淆矩阵是2*2的;那么在多分类问题,比如5分类问题中,混淆矩阵就是5*5的。   在有了混淆矩阵之后,很多指标你也可以类比二分类问题来进行计算了,比如说预测的精确率和召回率等等。有了这些指标之后,我们就可以对多分类问题进行评价了。   另外,再补充一点。 为什么我们讲分类问题的时候,重点都是讲二分类呢?不仅是因为二分类问题最常见,还有个原因就是很多的多分类问题是可以转化为二分类问题来处理的。比如我们在用SVM处理多分类问题时,就有以下两种转换方法: (1)一对一 (2)一对多    

Robin_TY - PhD@CSU,研究方向:计算机视觉,模式识别

赞同来自:

我也补充一下,(以下内容参考自:How to Evaluate Machine Learning Models: Classification Metrics)   分类主要解决的是对于给定数据输出预测结果或标签。在“二分类”问题中,输出的预测结果是两类。在"多分类"问题中,输出的预测结果是多个。在这里,我们主要关注”二分类“问题,因为”二分类“的评估指标可以很容易扩展到多分类中。   一个简单的”二分类“例子就是垃圾邮件的检测。在这个问题中,给定的数据可以是邮件的文本内容或者发件人、发送时间等,其输出的预测结果是”是垃圾邮件“或”不是垃圾邮件“。通常,我们使用”正样本“以及”负样本“或者”1“和”0“标签表示。   关于分类模型的评估有许多指标,比较常用的有:准确率(accuracy)、混淆矩阵(confusion matrix)、对数损失(log-loss)以及曲线下面积(AUC)。下面逐个对这些指标进行介绍:
  • 准确率(Accuracy)
准确率是相对简单的度量指标,用来度量分类器正确分类的性能。通过计算正确样本预测的个数和所有样本个数的比值得到:
QQ截图20160512113351.jpg
  • 混淆矩阵(Confusion Matrix)
只用准确率进行判定分类器的性能有些过于简单,准确率不能很好地反映出类间的差别;比如对于“0”和“1”的分类是同等对待的,看不出对于具体类别的分类好坏。显然,这是不够的。有时,我们需要查看对于某个类别有多少是被错误分类的从而有针对性地进行改进加强。比如对于某个分类问题来说,不同类别的样本数差别很大,显然准确率不能很好地作为单一指标进行评判。对于这类情况,可以使用混淆矩阵来查看。在混淆矩阵中,可以详细地查看每个类别的正确分类和错误分类的个数。混淆矩阵的每行代表真实值,每列代表预测值。   假设测试数据集有100个正样本,200个负样本。得到的混淆矩阵就是这样的形式: ---------------------------------------------------                          |  正样本预测值 | 负样本预测值 --------------------------------------------------- 正样本真实值    |             80       |          20 --------------------------------------------------- 负样本真实值    |               5       |          195 ---------------------------------------------------   在这个例子中,我们可以清楚地看到正样本的准确是80%(80/ (20+80)=80%),而负样本的准确率是97.5%(195/(5+195)=97.5%)。如果只看整体的准确率91.7%((80+195)/(100+200)=91.7%)就不能清楚地查看这些详细情况。
  • 对数损失(Log-Loss)
对数损失,可以进一步地评估分类器的细节。具体来说,如果分类器的输出是概率而不是标签0或1,就可以使用对数损失进行评估。概率本质上是置信度的反应。比如,一个样本的真实值是0,但是分类器认为它属于1的概率是0.51,这时可能分类器输出的是错误的预测,因为预测概率太接近分界线0.5了。对数损失就是这样一个“宽松”的准确率的度量,它引用了概率置信度来进行度量。   用数学公式表示,对于二分类问题的对数损失计算如下:
QQ截图20160512121048.jpg
其中pi是分类器预测第i个样本的标签属于1的概率。yi是对应的真实值,0或1.
  • 曲线下面积(AUC)
曲线下面积(AUC,Area Under the Curve)中,曲线指的是ROC(Receiver Operating Characteristic curve)曲线。ROC曲线可以表示分类器对于TP(true positives)和FP (false positives)的敏感度。具体可参考ROC曲线   想要了解更多关于AUC和ROC的知识,可以参考这个教程ROC curves and Area Under the Curve explained (video)。   以上这些指标在判定分类器性能的评价中是经常可以用到的。  

要回复问题请先登录注册