模型评估
混淆矩阵
- Positive § - 正例
- Negative (N) - 负例
结果:
预测为正类别 预测为负类别
真实为正类别 True Positive (TP) False Negative (FN)
真实为负类别 False Positive (FP) True Negative (TN)
- TP - 预测 P, 实际 P, 模型预测正确
- FP - 预测 P, 实际 N, 模型预测错误
- FN - 预测 N, 实际 P, 模型预测错误
- TN - 预测 N, 实际 N, 模型预测正确
指标
- 准确率(Accuracy) - 判断模型正确分类的能力.
(TP + TN) / (TP + TN + FP + FN)
- 精确率(Precision)- 判断模型识别出来的结果有多精确的指标.
TP / (TP + FP)
- 召回率(Recall)- 查全率, 判断模型识别广度的指标.
TP / (TP + FN)
- F1 值 - 综合反应 精确率 和 召回率, 越高越好
2 * Precision * recall / (precision + recall)
精确率说明找到的 P 有多少是对的.
召回率说明所有的 P 中找到了多少个.
总结:
-
准确率:理解成本最低,但不要滥用。在样本不均衡情况下,指标结果容易出现较大偏差;
-
精确率:用于关注筛选结果是不是正确的场景,宁可没有预测出来,也不能预测错了。 比如,在刷脸支付的场景下,我们宁可告诉用户检测不通过,也不能让另外一个人的人脸通过检测;
-
召回率:用于关注筛选结果是不是全面的场景,“宁可错杀一千,绝不放过一个”。 比如,在信贷场景下,我要控制逾期率,所以宁可把好用户拦在外面,不让他们贷款,也不能放进来一个可能逾期的用户。毕竟,用户一旦逾期,无法收回的本金产生的损失,比我多放过几个好用户带来的收益要多很多。
-
KS
-
AUC
基础指标:
- TPR(True Positive Rate)真正率 - 评估模型正确预测的能力.
TP / (TP + FN)
- FPR(False Positive Rate)假正率 - 评估模型误判的比率或者误伤的比率.
FP / (FP + TN)
ROC 曲线
在没有准确阈值的情况下,对所有分数进行分段处理,计算每一个切分点对应的TPR和FPR,以FPR做横轴、TPR做纵轴绘制出的一条曲线。
ROC代表的是模型召回率和误伤率之间的变化关系
红线是随机线.
模型的ROC曲线越贴近这条随机线,模型的分类效果就越差。
当ROC曲线越偏离随机线并且靠近左上方(0,1)点的时候,说明模型分类效果越好.
AUC
AUC: 把曲线右下方和横坐标轴闭合起来的面积作为一个评估指标。
AUC 一般在 0.5 到 1 之间.
AUC = 0.5
- 表示模型没有区分能力, 结果等于是随机猜测AUC < 0.5
- 表示这个模型大概率很差AUC > 0.5 && AUC < 1
- AUC 越高代表模型的区分能力越好
KS
KS 统计量是一种衡量累积分布函数(Cumulative Distribution Function,CDF)差异的指标。
KS代表的是在某一点上,模型召回率最大并且误伤率最小。
把召回率和误伤率都作为纵轴,把切分的分数点作为横轴。
一个切分点会同时得到TPR和FPR两个值,所以可以画出来两条曲线。
KS就是图中红色线和绿色线间隔最大时候的距离。
如果模型的KS或者AUC值很高,不一定是一件好事情。需要了解背后的原因,这有可能是数据不准确导致的。
模型评估的目的是找到真实标签和预测值之间的差异。
回归算法关注的是模型是否预测到了正确的数值。
回归算法常见的性能评估指标:
- MSE (Mean Squared Error, 均方误差)
- RMSE (Root-mean-squared Error, 均方根误差)
- MAE (Mean Absolute Error, 平均绝对误差)
- R^2 (R Squared 决定系数)
MSE (Mean Squared Error, 均方误差)
先求出所有样本真实值和预测值的差值平方,再除以样本数量。
n
代表测试样本数量yi
代表实际值^yi
代表模型的预测值
结果:
- MSE 一定大于等于 0
- 对模型评估, 值越小越好
RMSE (Root-mean-squared Error, 均方根误差)
在对差值取平方的时候,经常会导致差值的量纲发生变化。
比如说,差值的单位是米,那对差值取平方,就会导致差值的量纲变成平方米。
因此,为了保证量纲相同,可以在MSE的基础上,再对它求一个平方根。
MAE (Mean Absolute Error, 平均绝对误差)
MSE vs MAE:
- 算法工程师更多的是用 MSE, 数据放大, 更容易发现误差
- 在实际效果评估的时候, 更多地使用 MAE, 更接近真实误差
RMSE vs MAE
- RMSE 会导致误差在一定程度上被放大
R^2 (R Squared 决定系数)
以上几个指标在不同场景的值没有可对比性, 例如股票价格有几元也有几百元, 房价有几千到几十万.
如果要用一个模型来解决不同的问题, 选择 R^2
可以横向比较这个模型在哪个问题上表现更好.
用于评估回归模型拟合程度的统计指标。它表示模型解释变量方差的比例,范围在0到1之间。
n
表示样本数量yi
表示真实值^yi
表示模型的预测值_y
表示真实值的平均值
结果:
- 越接近1表示模型对观测数据的拟合越好
- 越接近0则表示模型的拟合程度较差