模型的评价指标
| 2023-8-6
0  |  阅读时长 0 分钟
type
Post
status
Published
date
Sep 12, 2021
slug
summary
tags
Scikit-Learn
category
数据分析
icon
password
Property

回归模型的评价指标

假定为真实值, 为预测值

解释方差(explained_variance)

解释方差的计算公式为:
explained_variance_score=
解释方差的最大值是1,数值越大代表模型预测结果越好,越小代表模型预测结果越差
 

平均绝对值误差(MAE)

平均绝对误差(Mean Absolute Error)
计算每一个样本的预测值和真实值的差的绝对值,然后求和再取平均值。用于评估预测结果和真实数据集的接近程度,其值越小说明拟合效果越好。绝对差值存在不可导情况,所以一般用平方损失。
 

平均绝对百分比误差(MAPE)

平均绝对百分比误差(Mean Absolute Percentage Error)
范围[0,+∞),MAPE 为0%表示完美模型,MAPE 大于100 %则表示劣质模型。可以看到,MAPE跟MAE很像,就是多了个分母。
注意点:当真实值有数据等于0时,存在分母0除问题,该公式不可用!
 

对称平均绝对百分比误差(SMAPE)

对称平均绝对百分比误差(Symmetric Mean Absolute Percentage Error)
注意点:当真实值有数据等于0时,存在分母0除问题,该公式不可用!
 

均方误差(MSE)

均方误差(Mean Square Error)
计算每一个样本的预测值与真实值差的平方,然后求和再取平均值。该指标计算的是拟合数据和原始数据对应样本点误差的平方和的均值,其值越小说明拟合效果越好
 

均方根误差(RMSE)

均方根误差(Root Mean Square Error)
均方根误差就是在均方误差的基础上再开方,其值越小说明拟合效果越好
 

可决系数(R²)

可决系数值在0~1之间。越接近于1,说明模型的预测效果越好,越接近于0,说明模型的预测效果越差,当然也存在负值,此时说明模型的效果非常差。公式中的平均值
 
 
 

分类模型的评价指标

notion image

TP, FP, TN, FN

  • True Positives,TP:预测为正样本,实际也为正样本的特征数
  • False Positives,FP:预测为正样本,实际为负样本的特征数
  • True Negatives,TN:预测为负样本,实际也为负样本的特征数
  • False Negatives,FN:预测为负样本,实际为正样本的特征数
如下图所示,绿色的半圆就是TP(True Positives),红色的半圆就是FP(False Positives),左边的灰色长方形(不包括绿色半圆),就是FN(False Negatives)。右边的浅灰色长方形(不包括红色半圆),就是TN(True Negatives)。这个绿色和红色组成的圆内代表分类得到模型结果认为是正值的样本。
notion image

混淆矩阵

notion image
 

精确率(precision),召回率(Recall),准确率(Accuracy),特异性(specificity),TPR和FPR

精确率(Precision)的定义在上图可以看出,是绿色半圆除以红色绿色组成的圆,定义如下:
反映出模型对于真正例查的准不准,即预测的结果中,预测到的正例占总体预测结果的比例;
 
召回率(Recall)的定义也在图上能看出,是绿色半圆除以左边的长方形,定义如下:
反映出模型对于真正例查的全不全,即预测的结果中,预测到的正例占真实总体正例的比例;
 
准确率(Accuracy,Acc):
 
特异性(specificity)的定义图上没有直接写明,这里给出,是右边长方形去掉红色半圆部分后除以右边的长方形,定义如下:
有时也用一个F1值来综合评估精确率和召回率,它是精确率和召回率的调和均值。当精确率和召回率都高时,F1值也会高,定义如下:
 
有时候对精确率和召回率并不是一视同仁,比如有时候我们更加重视精确率。我们用一个参数 来度量两者之间的关系:如果,召回率有更大影响;如果 ,精确率有更大影响;当 的时候,精确率和召回率影响力相同,和F1形式一样。含有度量参数 的F1记为 ,定义如下:
此外还有灵敏度(true positive rate ,TPR),它是所有实际正例中,正确识别的正例比例,它和召回率的表达式没有区别。严格的数学定义如下:
另一个是1-特异度(false positive rate, FPR),它是实际负例中,错误得识别为正例的负例比例,定义如下:
 

Micro-averaging与Macro-averaging

当只有一个二分类任务时,直接使用上面的评价指标即可。但若有 个二分类任务时,为了综合得出总体的评价结果,需要对每个二分类的指标结果,进行Micro或者Macro平均。
宏平均(Macro-averaging):是先对每一个类统计指标值,然后在对所有类求算术平均值。
微平均(Micro-averaging):是对数据集中的每一个实例不分类别进行统计建立全局混淆矩阵,然后计算相应指标
例如有4类: Class A: 1 TP and 1 FP Class B: 10 TP and 90 FP Class C: 1 TP and 1 FP Class D: 1 TP and 1 FP 可知: 则宏平均的结果为: ,其他指标的计算类似
微平均则先计算总TP值,其次算总FP值,结果为:
Macro averaging 是在分别计算了每一类的指标后,求其算术平均值,对每一类都是等同而视的。虽然多分类任务中常有类别样本不均衡的现象,如上述的4分类中,class B有100个样本,远超其他3类,但Macro averaging的结果并没有因此完全倾向于class B的结果,而是客观的照顾了其他类的结果。可以说,在类别样本数目分布不均衡时,Macro会给予样本数目较少的类别与样本数据较大的类别同等的重视程度
Micro averaging 是详细统计了多分类中,每一个样本的预测结果,然后再计算相应指标的,重视的是每一个样本的结果。在Micro averaging中,其实已经不存在多分类的区别了,所有的类都成了一个类。重点关注每一个样本的结果,而弱化了类别的区别,对于整体数据集的结果来说,其实是更趋近于客观的结果。但着重关于细节带来的后果是,会被样本数目较多的类别的结果影响对于整体的判断。在实际的类别不均衡时,会被大类的结果所影响,而忽略了小类的影响。
其中average参数有五种:(None, ‘micro’, ‘macro’, ‘weighted’, ‘samples’)
 

RoC曲线和PR曲线

以TPR为 轴,以FPR为轴,就直接得到了RoC曲线。从FPR和TPR的定义可以理解,TPR越高,FPR越小,我们的模型和算法就越高效。也就是画出来的RoC曲线越靠近左上越好。如下图左图所示。从几何的角度讲,RoC曲线下方的面积越大越大,则模型越优。所以有时候我们用RoC曲线下的面积,即AUC(Area Under Curve)值来作为算法和模型好坏的标准。
notion image
以精确率为轴,以召回率为轴,我们就得到了PR曲线。仍然从精确率和召回率的定义可以理解,精确率越高,召回率越高,我们的模型和算法就越高效。也就是画出来的PR曲线越靠近右上越好。如上图右图所示。
 
AUC 和 F1的异同
  • auc希望训练一个尽量不误报的模型,也就是知识外推的时候倾向保守估计,
  • 而f1希望训练一个不放过任何可能的模型,即知识外推的时候倾向激进,这就是这两个指标的核心区别。
所以在实际中,选择这两个指标中的哪一个,取决于一个trade-off。如果我们犯检验误报错误的成本很高,那么选择auc是更合适的指标。如果犯有漏网之鱼错误的成本很高,那么倾向于选择F1 score。放到实际中,对于检测传染病,相比于放过一个可能的感染者,我们愿意多隔离几个疑似病人,所以优选选择F1 score作为评价指标。
 
 
 
 
notion image
 
 
notion image
 
 
 
 

分类报告

 

kappa score

kappa score是一个介于(-1, 1)之间的数. score>0.8意味着好的分类;0或更低意味着不好(实际是随机标签)
 

距离

 
 
 

聚类模型的评价指标

兰德指数

兰德指数(Rand index)需要给定实际类别信息,假设是聚类结果,表示在中都是同类别的元素对数, 表示在中都是不同类别的元素对数,则兰德指数为:
其中 数据集中可以组成的总元素对数,RI取值范围为[0,1],值越大意味着聚类结果与真实情况越吻合。
对于随机结果,RI并不能保证分数接近零。为了实现“在聚类结果随机产生的情况下,指标应该接近零”,调整兰德系数(Adjusted rand index)被提出,它具有更高的区分度:
ARI取值范围为[−1,1],值越大意味着聚类结果与真实情况越吻合。从广义的角度来讲,ARI衡量的是两个数据分布的吻合程度。
 

互信息

互信息(Mutual Information)也是用来衡量两个数据分布的吻合程度。假设是对个样本标签的分配情况,则两种分布的熵(熵表示的是不确定程度)分别为:
其中
之间互信息(MI)定义为:
其中。标准化后的互信息(Normalized mutual information)为:
与ARI类似,调整互信息(Adjusted mutual information)定义为:
用基于互信息的方法来衡量聚类效果需要实际类别信息,MI与NMI取值范围为[0,1],AMI取值范围为[−1,1],它们都是值越大意味着聚类结果与真实情况越吻合
 

轮廓系数

轮廓系数(Silhouette coefficient)适用于实际类别信息未知的情况。对于单个样本,设是与它同类别中其他样本的平均距离,是与它距离最近不同类别中样本的平均距离,轮廓系数为:
对于一个样本集合,它的轮廓系数是所有样本轮廓系数的平均值。
轮廓系数取值范围是[−1,1],同类别样本越距离相近且不同类别样本距离越远,分数越高。
 

Homogeneity, completeness and V-measure

同质性homogeneity:每个群集只包含单个类的成员
完整性completeness:给定类的所有成员都分配给同一个群集
两者的调和平均V-measure
其中, 是样本总数, 分别属于类和类的样本数,而 是从类 划分到类的样本数量
取值范围为[0,1],完全随机标签并不总是产生相同的完整性和均匀性的值,所得调和平均值V-measure也不相同
 

Fowlkes-Mallows scores

取值范围为[0,1],值越大意味着聚类结果与真实情况越匹配
 
 

Calinski-Harabasz Index

Calinski-Harabasz分数值 的数学计算公式是:
其中 为训练集样本数, 为类别数。 为类别之间的协方差矩阵, 为类别内部数据的协方差矩阵。 为矩阵的迹。
也就是说,类别内部数据的协方差越小越好,类别之间的协方差越大越好,这样的Calinski-Harabasz分数会高。
在真实的分群label不知道的情况下,可以作为评估模型的一个指标。同时,数值越小可以理解为:组间协方差很小,组与组之间界限不明显。
与轮廓系数的对比,最大的优势:快!相差几百倍!毫秒级
目录