TP(True Positive):将正类预测为正类(的数目),真实为0,预测也为0;
FN(False Negative):将正类预测为负类(的数目),真实为0,预测为1;
FP(False Positive):将负类预测为正类(的数目), 真实为1,预测为0;
TN(True Negative):将负类预测为负类(的数目),真实为1,预测也为1。
假设有一个用来对猫(cats)、狗(dogs)、兔子(rabbits)进行机器学习分类,预测结果(Predicted class)如下图所示。
而实际上共有 27 只动物:8只猫, 6条狗, 13只兔子,如(actual class)所示。
从上表中能看出机器学习预测后的结果了吧,
Cat的正确率: 5/8, 3只猫误判成狗了。
Dog的正确率: 3/6, 2只当成猫,一只误判成兔子。
Rabbit 的正确率:11/13, 准确率还不错,只有2只误判成狗。
Confusion matrix
混淆矩阵是由false positives,falsenegatives,true positives和true negatives组成的两行两列的表格。它允许我们做出更多的分析,而不仅仅是局限在准确率。准确率对于分类器的性能分析来说,并不是一个很好地衡量指标,因为如果数据集不平衡(每一类的数据样本数量相差太大),很可能会出现误导性的结果。
例如,如果在一个数据集中有95只猫,但是只有5条狗,那么某些分类器很可能偏向于将所有的样本预测成猫。整体准确率为95%,但是实际上该分类器对猫的识别率是100%,而对狗的识别率是0%。
对于上面的混淆矩阵,其对应的对猫这个类别的混淆表格如下:
大白话又来了,其实这个矩阵就是告诉你一下信息:
总共8只猫给你预测:
5只猫都对了(true positive) 2只狗错当成了猫
3只猫错当成狗了(false negative) 剩下的(27-5-2-3)=17 都对啦。