机器学习模型评估综述-二分多分回归聚类稳定性评分卡特征重要性

 

泰格:

       采菊东篱下,悠然现南山,误入机器歧途,无丝竹案牍渐渐远。盼钟鼓馔玉不足贵之境,望可长醉不复醒之日!

 

概述

      模型的评估对于做机器学习是一个很重要的一个领域,所有的模型要想进行评价,必须要有相应的评估指标,这些评估指标经过业务的千锤百炼沉淀了好几十年的!最常见的评估指标,就是准确率、精准率、召回率等,很早之前不懂机器学习的时候,听到别人讲到模型召回率多少,提升了多少,感觉很牛逼,现在听到这些,哇,感觉还是很牛逼。所以有必要详细总结下所有模型评估的方法。​​​​​​

 

模型评估方法综述表

 

模型类型 评估指标 评估指标名称 备注
二分类 Confusionmatri 混淆矩阵 可以根据阈值变化
accuracy 准确率 可以根据阈值变化
precision 精准率 可以根据阈值变化
recall 召回率 可以根据阈值变化
F1 精准率和召回率的均衡值 可以根据阈值变化
PR PR图 必须有概率值
ROC ROC图 必须有概率值
AUC ROC曲线面积 必须有概率值
KS曲线 真阳率和假阳率曲线 必须有概率值
KS值 真阳率和假阳率最大差值 必须有概率值
Lift曲线 Lift曲线 必须有概率值
多分类 Confusionmatri 混淆矩阵 正方形矩阵
accuracy 加权准确率 整体计算
precision 加权精准率
recall 加权召回率
F1 加权精准率和召回率的均衡值
如果输入次预测每个分类的概率值,可以每个分类当成二分类,可以算每个分类关于二分类的指标,也可以最终做一个平均,算出一个综合的多分类结果,称之为micro
聚类 轮廓系数 轮廓系数 开发阶段用,迭代评估多少个分类
Calinski-Harabaz Calinski-Harabaz 开发阶段用,迭代评估多少个分类
中心距离 计算每个点到聚类中心的距离 无标签使用
聚类纯度 计算个预测类最大正确个数之和 有标签使用
兰德指数 排列组合选择 有标签使用
互信息 互信息 有标签使用
回归 MAE 绝对平均误差 没什么特别
MSE 绝对平均方差 没什么特别
RMSE 根号绝对平均方差 没什么特别
R2 R2分数 消除了量纲的影响
explainedVariance 解释系数 没什么特别
模型稳定性 PSI 模型稳定性 0.1-0.2较好 0.2-0.25一般,大于0.25有问题
评分评级模型 cap曲线 根据基尼系数画的统计曲线 预测为分数或者为评级,结果为一个二分类标签
AR值 根据CAP计算面积
ROC曲线 根据精准率和召回率
KS值 根据真阳率和假阳率
特征重要性评估 相关系数 计算特征和标签的相关系数 没什么特别
WOE 计算每个分箱跟标签的分布关系 没什么特别
IV 根据WOE结合数据分布 没什么特别
随机森林 根据模型计算出特征重要性 没什么特别

 

二分类模型评估

scala版本代码参考:https://blog.****.net/xiefu5hh/article/details/106135738  

所有的模型评估中,最最最基础也是用的最多的就是二分类的混淆矩阵了,其他的指标也都是通过这个混淆矩阵算出来的,

混淆矩阵的图:

机器学习模型评估综述-二分多分回归聚类稳定性评分卡特征重要性

这个图看起来非常简单,但是其实理解起来并不是一帆风顺的,我花了很久的时间理解(也可能本人智商问题)

一定要彻底完全理解这个图的每个值代表的含义,否则后面很多的指标都会混乱

具体的指标:

真正(True Positive , TP):被模型预测为正的正样本。
假正(False Positive , FP):被模型预测为正的负样本。
假负(False Negative , FN):被模型预测为负的正样本。
真负(True Negative , TN):被模型预测为负的负样本。

真正率(True Positive Rate,TPR):TPR=TP/(TP+FN),即被预测为正的正样本数 /正样本实际数。
假正率(False Positive Rate,FPR) :FPR=FP/(FP+TN),即被预测为正的负样本数 /负样本实际数。
假负率(False Negative Rate,FNR) :FNR=FN/(TP+FN),即被预测为负的正样本数 /正样本实际数。
真负率(True Negative Rate,TNR):TNR=TN/(TN+FP),即被预测为负的负样本数 /负样本实际数/2

准确率(Accuracy)

准确率是最常用的分类性能指标。
Accuracy = (TP+TN)/(TP+FN+FP+TN)

即正确预测的正反例数 /总数

精确率(Precision)

精确率容易和准确率被混为一谈。其实,精确率只是针对预测正确的正样本而不是所有预测正确的样本。表现为预测出是正的里面有多少真正是正的。可理解为查准率。
Precision = TP/(TP+FP)

即正确预测的正例数 /预测正例总数

召回率(Recall)

召回率表现出在实际正样本中,分类器能预测出多少。与真正率相等,可理解为查全率。
Recall = TP/(TP+FN),即正确预测的正例数 /实际正例总数

F1 score

F值是精确率和召回率的调和值,更接近于两个数较小的那个,所以精确率和召回率接近时,F值最大。很多推荐系统的评测指标就是用F值的。
2/F1 = 1/Precision + 1/Recall

ROC曲线

      真正率即判定为正样本且实际为正样本的样本数/所有的正样本数,假正率为判定为正样本实际为负样本的样本数/所有的负样本数。每选定一个阈值,就能得到一对真正率和假正率,由于判定为正样本的概率值区间为[0,1],那么阈值必然在这个区间内选择,因此在此区间内不停地选择不同的阈值,重复这个过程,就能得到一系列的真正率和假正率,以这两个序列作为横纵坐标,即可得到ROC曲线了。而ROC曲线下方的面积,即为AUC值。

机器学习模型评估综述-二分多分回归聚类稳定性评分卡特征重要性

 

PR曲线

PR曲线的横坐标是精确率P,纵坐标是召回率R。评价标准和ROC一样,先看平滑不平滑(蓝线明显好些)。一般来说,在同一测试集,上面的比下面的好(绿线比红线好)。当P和R的值接近时,F1值最大,此时画连接(0,0)和(1,1)的线,线和PRC重合的地方的F1是这条线最大的F1(光滑的情况下),此时的F1对于PRC就好像AUC对于ROC一样。一个数字比一条线更方便调型。

机器学习模型评估综述-二分多分回归聚类稳定性评分卡特征重要性

KS曲线

KS曲线的横坐标是阈值,是两条曲线的组合,一条是真阳率、一条是假阳率。

机器学习模型评估综述-二分多分回归聚类稳定性评分卡特征重要性

 

多分类模型评估

所有的指标参考二分类的评估

 

回归模型评估

 

拟合(回归)问题比较简单,所用到的衡量指标也相对直观。假设yiyi是第ii个样本的真实值,ŷ iy^i是对第ii个样本的预测值。

平均绝对误差(MAE)

平均绝对误差MAE(Mean Absolute Error)又被称为l1范数损失(l1-norm loss):

    机器学习模型评估综述-二分多分回归聚类稳定性评分卡特征重要性

 

平均平方误差(MSE)

平均平方误差MSE(Mean Squared Error)又被称为l2范数损失(l2-norm loss):

    机器学习模型评估综述-二分多分回归聚类稳定性评分卡特征重要性

均方根误差(RMSE)

RMSE虽然广为使用,但是其存在一些缺点,因为它是使用平均误差,而平均值对异常点(outliers)较敏感,如果回归器对某个点的回归值很不理性,那么它的误差则较大,从而会对RMSE的值有较大影响,即平均值是非鲁棒的。

解释变异

解释变异( Explained variance)是根据误差的方差计算得到的:

    机器学习模型评估综述-二分多分回归聚类稳定性评分卡特征重要性

决定系数

决定系数(Coefficient of determination)又被称为R2

 

聚类模型评估

聚类指标计算scala代码:https://blog.****.net/xiefu5hh/article/details/106392459

 

 

模型稳定性评估

 

评分卡模型评估

 

特征重要性评估