10.模型评估
1. 数据集切割
训练数据(Training Dataset),80%,可以做任何分析
测试数据(Test Dataset),20%,不可做任何分析(当做未看过的数据)
分层抽样,一般测试数据集不用来做分析,假设是未知数据来对待,注:竞赛 != 数据分析。
1.1. 数据分割方式
随机从数据集中选取对应比例作训练数据(Yes/No的分布无法维持和母体数据集的比例)
「更好的方式」从Yes中选取对应比例的训练数据,然后从No中选取对应比例的训练数据,合并到一起(比例依旧遵循母体比例)
最好采用分层随机抽样。
训练集用来训练模型M,测试集用来测试M的效能,有些机器学习为了防止过拟合,会分离验证集,修正模型。Training: Test: Validation
可选择比例:6:2:2
——如决策树中CART
算法必须要验证集。
1.2. 交叉验证
Cross-Validation(CV),N折交叉,没有争议的验证方式,Fold(折)越多,评估越好,比较耗时。
Leave-One-Out-Cross-Validation,最复杂的版本,最耗时。建立模型最好创建一个基模型,以作为比较的基准:
分类问题:众数建模
回归问题:均值或中位数建模
2. 分类模型评估
2.1. 混淆矩阵Confusion Matrix
正确率——在所有样本中预测正确的样本比例,真的预测为真,假的预测为假。
精确率(查准)——实际为真,分母为预测结果的总数,等价于:真实/预测(预测真总数)。
召回率(查全)——实际为真,分母为实际结果的总数,等价于:真实/实际(实际真总数)。
二者合并得到的指标:
拓展,F-meansure
表示,如果,您重视Recall,如果,您重视Precision。
2.2. 多分类评估
Macro F1:将多个类的F1相加算平均(每个类同等重要)
Weighted F1:在Macro基础上加权(按每种类型的比例加权计算)
Micro F1:计算所有混淆矩阵
计算:
3. 整体评估
不要结果,而是要结果的概率值,且计算的是累积结果。
门槛值
0.5
:门槛值
0.375
:
注意混淆矩阵中数值的变化,门槛值对F1也会有影响。
3.1. K-S Statistics
KS(Kolmogorov-Smirnov)值的计算:
最佳值会到100分,最差会是0分,KS参考值:
小于20
模型无鉴别能力
20 ~ 40
模型勉强接受
41 ~ 50
模型有好的区别能力
51 ~ 60
模型有很好的区别能力
61 ~ 75
(罕见)模型有非常好的区别能力
大于75
模型异常,可能有问题
Profit的计算(略)
3.2. ROC图
ROC图如下(蓝色线就是ROC):
X轴:累积0的百分比
Y轴:累积1的百分比
ROC图围出来的面积 > 0.5,面积越大模型越稳健。
AUC(Area Under the Curve)值([0.5, 1]
):
0.5 < AUC < 0.6:弱模型
0.7 < AUC:更稳健模型
3.3. Gini Coefficient
Gini的做法刚好和ROC颠倒:
X轴:累积1的百分比
Y轴:累积0的百分比
相互计算公式如下:
ROC Index = AUC
ROC Index = A + 0.5
Gini Coefficient = A / (A + B) = 2A = 2 * (ROC Index - 0.5)
Gini = 2 * AUC - 1
3.4. 评分标准
0
<20%
=50%
无区别能力
0 ~ 40%
20% ~ 30%
50% ~ 70%
模型区别能力极差
40% ~ 60%
30% ~ 50%
70% ~ 80%
可接受的区别能力
60% ~ 80%
50% ~ 75%
80% ~ 90%
非常好的区别能力
80% ~ 100%
> 75%
90% ~ 100%
可能模型适配过度
3.5. Response Chart
x轴是人数百分比
y轴是1的Precision的累积
3.6. Gain Chart
x轴是人数百分比
y轴是1的Recall的累积
3.7. Lift Chart
比较次要的一个图
计算方法是使用:Cumulative for 1 / Random,模型比随机乱猜的倍数处理。
4. 回归模型评估
MAE, Mean Absolute Error(无区间)
MSE, Mean Squared Error(无区间,惩罚误差比较大的模型)
RMSE, Root Mean Squared Error
, Adjusted (范围一定是[0,1],越靠近1越好)
前三个是IT的人会常用的三个指标,通常做数据分析用更多。
4.1. R Squared计算
SST:目标字段的总变异,Total Sum of Squares
SSR:目标字段的可解释变异,Sum of Squares due to Regression
SSE:目标字段的不可解释变异,Sum of Squares due to Error
SST = SSR + SSE
:
调整的:越大越好
由于增加新的输入字段后,会变大,会有高估模型效能的倾向,因此调整后的作为评估方式更加理想。
N:样本数
P:输入字段个数
AIC(Akaike Information Criterion):越小越好
BIC(Bayesian Information Criterion):越小越好
最后更新于
这有帮助吗?