前言
承接上篇讲述了机器学习有哪些常见的模型算法,以及适用的场景,本篇将继续讲述如何评估模型。模型评估的目的是选出泛化能力强的模型。泛化能力强表示模型能很好地适用于未知的样本,模型的错误率低、精度高。本文将从评估方法和评估指标两方面进行阐述。
几个概念了解一下:
- 经验误差:模型在训练集上的误差称之为经验误差;
- 过拟合:模型在训练集上表现的很好,但是在交叉验证集合测试集上表现一般,也就是说模型对未知样本的预测表现一般,泛化(Generalization)能力较差
- 偏差:通常指的是模型拟合的偏差程度,是真实模型和模型多次拟合出来的平均模型差异。
1. 模型评估方法
1.1 留出法
会从训练数据中保留出验证样本集,这部分数据不用于训练,而用于模型评估。留出法需要注意:
- 随机划分不一定有效。 如果测试集正好只取到某一种特殊类型数据,会带来额外的误差。一般会对数据分析,尽量保证测试数据的平衡。
- 单次划分不一定能得到合适的测试集,一般多次重复「划分 - 训练 - 测试求误差」的步骤,取误差的平均值。
- 划分的验证集,太大或者太小都不合适,常用比例是1/5到1/3。
1.2 交叉验证法(cross validation)
对数据进行K个分组,第i次模型迭代训练用第i组数据作为测试集,其余作为训练集,最终模型损失函数是K次迭代的均值。通常k取10,可跟随数据量大小做调整。
1.3 自助法(Boostrap)
在本身数据量就很小的时候,采用数据截取作为testing,会导致模型失真。这种情况下,Bootstrap通过有放回抽样生成大量的伪样本,通过对伪样本进行计算,获得统计量的分布,从而估计数据的整体分布。自助法极限抽样值约为1/e=0.368
2. 模型评估指标
根据模型算法的不同,评估指标选取也不一样。比如,逻辑回归输出是连续值,分类问题输出的有限分类,聚类问题则输出的是聚类指标等。
2.1 回归指标
2.1.1 平均绝对误差MAE
MAE的计算公式为
优点是可以直观的反应预测值和真实值之间的差异,缺点是不能反映预测的无偏性(无偏就要求估计值的期望就是真实值)。
2.1.2 平均绝对百分误差MAPE
是对MAE的一种改进,考虑了预测值与真实值的误差。
2.1.3 均方误差MSE
MAE是绝对值求解,在不光滑函数情况下,某些点上不能求导,所以演进了MSE。MSE同样不能反映预测的无偏性。
2.1.4 RMSE标准误差
可以更直观的反应观测值同真值之间的偏差。
2.1.5 决定系数R
R表征的是因变量y的变化中有多少可以用自变量x来解释,是回归方程对观测值拟合程度的一种体现。R平方越接近1,说明回归模型的性能越好,即能够解释大部分的因变量变化。
SST: 原始数据和均值之差的平方和,反映的是原始数据相对均值的离散程度.
SSR: 预测数据与原始数据均值之差的平方和,反映的是模型相对原始数据均值的离散程度
SSE:残差平方和,原始数据和预测数据之差的平方和
2.1.6 校正决定系数
决定系数无法反应样本数和特征数量的影响,所以衍生出了校正决定系数。
其中,m是样本数量,n是特征数量。
2.2 分类问题评估
2.2.1 混淆矩阵
混淆矩阵构成如下表所示:
- 每一列代表了预测类别,每一列的总数表示预测为该类别的数据的数目。
- 每一行代表了数据的真实归属类别,每一行的数据总数表示该类别的数据实例的数目。
total population | predict positive(预测为真) | predict negative(预测为假) |
condition positive(实际为真) | TP | FN |
condition negative(实际为假) | FP | TN |
2.2.2 准确率Accuracy
准确率是指预测的结果和实际的结果匹配的占比。
通常情况下,准确率越高,表示模型预测越准确。
2.2.3 精确率Precision
在数据类别严重不均衡的情况下,准确率评估指标并不合理,比如发病率0.1%医疗场景下,如果只追求 Accuracy,模型可以直接预测所有的人都是病人,Accuracy高达99.9%,因此引申出了精确率。
2.2.4 Recall 召回率
在金融场景,系统希望筛选出所有的风险用户或行为,宁愿错杀,不可漏掉.
2.2.5 F1 Score
通常情况下,精确率和召回率都是越高越好,但这两个指标是矛盾的,因此诞生了F1 score来衡量二正的平衡。
2.2.6 ROC曲线
用FPR作为横轴,TPR作为纵轴的曲线图成为ROC曲线,主要用来判断模型是否有过拟合现象。其中FPR=FP/(FP+TN), TPR=TP/(TP+FN)。通常ROC曲线光滑表明模型没有太大的overlifting。
2.2.7 AUC
ROC曲线不能很直观反映模型的性能,而AUC作为ROC曲线的面积值,AUC越大,可直接表明模型的性能越好,排序能力越强。
2.2.8 PRC
以Recall作为横轴,Precision作为纵轴的曲线成为RPC曲线,也是能直接反映分类问题的排序能力。
Accuracy | 准确率适用于政府样本相当情况 |
Precision | 适用于正负样本相差很大情况,不能用于抽样 |
Recall | 适用于正负样本相差很大,抽样不敏感 |
ROC | 对不平衡数据集不敏感 |
AUC | 排序敏感 |
PRC | 负样本数量远大于正样本数量时,PRC比AUC更好 |
参考文献:ShowMeAI知识社区