一、准确率
准确率是我们常见的评价指标之一,一般定义是,分类正确的样本数占总样本的比例数。
但是准确率在数据不均衡的数据集上会缺少一定的说服力,比如一个数据集,有990正样本,10个负样本,现在模型把样本全部都预测成正样本,那么我们说模型的准确率是99%,这个从计算上看是没问题,但是当样本不均衡时,光使用准确率来评价一个模型的好坏是不够的。
二、精准率和召回率
二分类问题的预测结果可以根据情况分成以下四类:
真正例(True Positive):预测值为1,真实值为1
假正例(False Positive):预测值为1,真实值为0
真反例(True Negative):预测值为0,真实值为0
假反例(False Negative):预测值为0,真实值为1
构造成结果的混淆矩阵
精准率又称查准率:
召回率又称查全率:
精准率可以解释为,预测为正例的样本中,有多少是真的正例
召回率可以解释为,真实的正例的样本中,有多少被预测出来
F1:精准率和召回率的调和平均
三、AUC
AUC是另一种评价二分类算法的指标,被定义为 ROC 曲线下的面积。那什么是ROC曲线呢?
ROC曲线的坐标,纵坐标为真正例率(True Positive Rate,TPR),横坐标为假正例率(False Positive Rate,FPR)
具体定义如下:
根据模型在ROC坐标上的位置,可以判断模型的性能
模型1
模型2
横纵坐标
ROC坐标上的四个点
(0,1):所有样本分类正确
(1,0):所有样本分类错误
(0,0):所以样本都分类为负
(1:1):所以样本都分类为正
由上图可以看出模型2要好于模型1
怎么画出AUC曲线呢,首先按照预测值进行排序
按照预测值大小,依次作为阈值,求解FP rate和TP rate
按照上图的信息可以画出曲线
曲线下的面积被称为AOC
AOC的意义:衡量正样本排在负样本前面的能力,这里的能力更具体一点就是出现的概率。与域值的选取没有关系。
四、混淆矩阵
对于多分类的相关问题,常用的评价标准是混淆矩阵
如果分成n个类别的话,混淆矩阵的形式是一个的一个矩阵,具体的形式如下
上图中每一列代表预测的类别,每一行代表真实的类别的归属,第二行cat的总数量为8,表示类cat总共有8个样本,其中3个分类正确,3个被错误的分到了dog,2个被错误的分到了robbit。
如果计算cat的准确率计算公式如下
参考文献:
1、 李航《统计学习方法》清华大学出版社
2、周志华 《机器学习》 清华大学出版社
3、Confusion matrix
4、sklearn.metrics.confusion_matrix - scikit-learn 0.20.2 documentation
原文来自学员知乎作业:
https://zhuanlan.zhihu.com/p/55324860