这一部分总结分类问题常用的性能度量手段,这里涉及到的概念有混淆矩阵,正确率,召回率,ROC,AUC等等.这些概念都是比较简单,同时也是非常非常常用的.需要仔细理解.
一.混淆矩阵(Confusion Matrix)
一开始需要说一下的就是混淆矩阵啦,混淆矩阵是一个很简单很基础的东西.可以作为分类问题一个比较基本的可视化工具.
通常来说混淆矩阵的行代表的是实际类别,列代表的是预测的类别.要是这样说有一些抽象的话,通过一个例子可以直观秒懂.这里使用维基百科上面的例子:https://en.wikipedia.org/wiki/Confusion_matrix
假设一共有27只动物,其中有8只猫,6条狗,13只兔子.最终的分类的结果如下图:
上面这幅图可以这么看,比如第一行,可以看做是猫中有5只预测为猫(即预测正确),有3只预测为狗,0只预测为兔子. 同样第二行可以理解为狗中有2只预测为猫,有3只预测为狗,1只预测为兔子…..依次类推.
可以看出来,对角线上面的是每一类别被正确预测的数量(概率),意味着,一个好的分类器得到的结果的混淆矩阵应该是尽可能的在对角线上面”成堆的数字”,而在非对角线区域越接近0越好,意味着预测正确的要多,预测错误的要少.
然后就是大多数人都更加熟悉的另外一种混淆矩阵的形式了.(维基百科上面叫做混淆表格(Table of confusion)),就是把一个二类分类问题下面的方式来表示:
真正例(True Positive;TP):将一个正例正确判断成一个正例
伪正例(False Positive;FP):将一个反例错误判断为一个正例
真反例(True Negtive;TN):将一个反例正确判断为一个反例
伪反例(False Negtive;FN):将一个正例错误判断为一个反例
上面这个概念很多初学者应该会反应比较难记下来,简写啊什么的.其实你可以把前面的那个字母看做是否判断正确,后面那个字母看做预测的类型.
比如,TN,看到T,说明预测是正确的,后面那个是预测的类型,是N(反例),也就是说,是正确的把反例预测为了反例.同样可以