模型评价指标总结

模型评价指标总结

对于一个模型来说,如何评价一个模型的好坏,如何衡量一个模型的泛化能力是机器学习中的一个关键性问题,对于二分类问题来说,单单只通过最后的预测准确率来说,

由于原始数据可能是分平衡的数据因此只凭准确率并不能说明你这个模型的效果优良。因此,对于机器学习的两大类问题:分类与回归,现将一些模型的评价指标进行总结

1.分类问题

1.1 混淆矩阵

混淆矩阵(confusion matrix)其实就是一张表格,之所以叫做混淆矩阵,是因为能够很容易的看到机器学习有没有将样本的类别给混淆了,以二分类的问题为例,其对应的混淆矩阵的表格如下

正例为positive 负例为negative 横轴为预测值 纵轴为 真实值

则在混淆矩阵的表格中各个部分所表达的意义为:

TP:True Positive 真正例 表示预测值与真实值都为正例的个数

TN:True Negative 真反例 表示预测值与真实值都为反例的个数

FP: False Positive 假正例 表示真实值为反例 但是把它预测成了正例

FN: False Negative 假反例 表示真实值是正例 但是把它预测成了反例

模型评价指标总结

1.2 准确率

准确率 (Accuracy)也就是预测正确的数目比上总的个数,根据上表可得准确率的公式为

模型评价指标总结

1.3 精确率

精准率也叫查准率(Precision) 这个指标主要是针对于正例来说的,就是预测正例的准确性,其公式为预测为正例的个数比上所有预测为正例的个数

模型评价指标总结

1.4 召回率

召回率 (Recall)也叫查全率 灵敏度 就是预测正例预测正确的数目比上数据当中真实地正例的个数

模型评价指标总结
Recall (查全率)与Precision(查全率)是一对相互矛盾的指标,查准率高的时候,查全率往往偏低,查准率低的时候,查全率往往偏高

我们从上述的公式中可以看出,其实其原因主要是FP与FN的互补关系,查准率高了,FP的值相对应的就低了,而FP值低了,FN的值就会提高

1.5 特异度

特异度 Specificity 即为预测的反例在所有反例中的占比

模型评价指标总结

1.6 F1

F1是统计学中用来衡量二分类模型精确度的一种指标。它同时兼顾了分类模型的精确率和召回率。F1分数可以看作是模型精确率和召回率的一种加权平均,它的最大值是1,最小值是0

1代表模型的输出最好,0代表模型的输出结果最差。

模型评价指标总结

1.7 ROC 与AUC

首先我们假设1 为正例 0 为负例

ROC (Receiver Operating Characteristic) 受试者工作特征 ROC 是从医学上借鉴过来的概念 要介绍Roc首先要引入两个概念 TPR 与FPR

TPR True positive rate 真实正例比率 TPR的意义是在所有真实类别为1的样本中,预测类别为1的比例。也就是上述的recall

FPR False positive rate 伪正例比率 FPR的意义是在所有真实类别为0的样本中,预测类别为1的比例

模型评价指标总结

AUC area under the carve 定义为roc曲线下的面积

在roc曲线中纵坐标为TPR 横坐标为FPR,当二者相等时,即y=x,如下图,表示的意义是:

对于不论真实类别是1还是0的样本,分类器预测为1的概率是相等的。换句话说,和抛硬币并没有什么区别,一个抛硬币的分类器是我们能想象的最差的情况,

因此一般来说我们认为AUC的最小值为0.5(当然也存在预测相反这种极端的情况,AUC小于0.5)

模型评价指标总结

而我们希望分类器达到的效果是:对于真实类别为1的样本,分类器预测为1的概率(即TPRate),要大于真实类别为0而预测类别为1的概率(即FPRate),这样的ROC曲线是在y=x之上的,因此大部分的ROC曲线长成下面这个样子:

模型评价指标总结

最理想的情况下,没有真实类别为1而错分为0的样本,TPRate一直为1,于是AUC为1,这便是AUC的极大值。

AUC的概率学意义为随机给定一个正样本和一个负样本,分类器输出该正样本为正的那个概率值比分类器输出该负样本为正的那个概率值要大的可能性。 AUC越大,表明方法效果越好。

ROC曲线的画法

我们知道对于二分类问题,一些分类器其实最后输出的结果是概率的形式,默认以0.5为阈值。 roc曲线即为不断调整阈值,在不同阈值下,计算出不同的tpr与fpr 将其在坐标轴中连接起来即可得到最终的roc曲线

模型评价指标总结

AUC的优势

AUC的计算方法同时考虑了分类器对于正例和负例的分类能力,在样本不平衡的情况下,依然能够对分类器作出合理的评价。例如在反欺诈场景,设非欺诈类样本为正例,负例占比很少(假设0.1%),如果使用准确率评估,把所有的样本预测为正例便可以获得99.9%的准确率。但是如果使用AUC,把所有样本预测为正例,TPRate和FPRate同时为1,AUC仅为0.5,成功规避了样本不均匀带来的问题。

1.9 KS 值

KS值是在模型中用于区分预测正负样本分隔程度的评价指标。

每个样本的预测结果化为probability或者一个分数范围。从最小的probability或者最低分到最大的probability或者最高分,正负样本的累积分布。KS值为两个分布中,最大差值的绝对值。

KS曲线,

KS曲线是两条线,其横轴是阈值,纵轴是TPR(上面那条)与FPR(下面那条)的值,值范围[0,1] 。两条曲线之间之间相距最远的地方对应的阈值,就是最能划分模型的阈值。

k-s指标越高,模型的区分能力越强。

2.回归问题

对于回归问题,模型的评价指标主要是来衡量预测值与真实值得差距 假设yi为真实值

2.1 平均绝对误差

平均绝对误差 Mean absolute error 公式为

模型评价指标总结

2.2 均方误差

均方误差 mean squared error
模型评价指标总结

2.3 均方根误差

均方根误差(Root Mean Squared Error)
模型评价指标总结