分类模型的性能评估指标总结

Posted chaimy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了分类模型的性能评估指标总结相关的知识,希望对你有一定的参考价值。

机器学习中所用模型的好坏需要通过一些量化的指标来评估。对于分类模型,是通过:1)精度(Accuracy);2)准确率(Precision);3)召回率(Recall);4)F1分数;5)ROC曲线(Receiver operating characteristic curve,受试者工作特征曲线);6)AUC(Area Under Curve)曲线来实现的。

二分类模型

对于二分类问题,通常将两个类别称为正类和负类。正类中的样本为正例,负类中的样本为负例。假设我们有一组样本对应的y真实标签记为y_test = [1 1 0 1 1 1],相应的y预测标签记为y_pre = [1 0 0 1 0 1],预测结果可分为4种情况:

  • 正例1被判定为正例1,其数目称为TP(True positive)
  • 正例1被判定为负例0,其数目称为FN(False negative)
  • 负例0被判定为正例1,其数目称为FP(False positive)
  • 负例0被判定为负例0,其数目称为TN(True negative)

将预测结果写成混淆矩阵(confusion matrix)形式:

真实标签 预测标签
正例(1) 负例(0)
正例(1) TP FN
负例(0) FP TN

 

样本量$N=TP+FP+FN+TN$

精度$Accuracy=\\fracTP+TNTP+FP+FN+TN$,表示总样本中预测正确的样本数占比。

错误率$Error=1-Accuracy=\\fracFP+FNTP+FP+FN+TN$

查准率$Precision=\\fracTPTP+FP$,也称为准确率,表示预测值为正的样本中预测正确的样本数占比。

召回率$Recall=\\fracTPTP+FN$,也称为查全率,表示真实值为正的样本中预测正确的样本数占比,即正样本的准确率。

注:查准率和查全率是一对矛盾的度量。一般来说,查准率高时,查全率往往偏低;而查全率高时,查全率往往偏低。

Precision-Recall 曲线是根据多个阈值计算得到的多组查准率(纵坐标)和查全率(横坐标)绘制而成,示意图如下:

从P-R图上可以直观地看到模型在样本总体上的查全率和查全率。当一个模型的P-R曲线被另一个模型的曲线完全包住,则可认为后者的性能优于前者(上图中A优于C);如果两个模型的P-R曲线发生了交叉,则难以一般性地判断两者孰优孰劣,只能在具体得查准率或查全率条件下比较(上图中A和B)。当然,如果非要比较上图中A和B模型的相对好坏,可通过计算平衡点(Break-Event Point,即查准率=查全率的点)的值来比较,则可认为模型A优于B。更常用的度量方式则为F1评分。

F1评分$F1$ $score=\\frac2*Precision*RecallPrecision+Recall$

ROC曲线是根据多个阈值计算得到的多组FPR(False positvie rate,假正例率) (作为横坐标)和 TPR (True positvie rate,真正例率)(作为纵坐标)绘制而成;其中,

  • $TPR=\\fracTPTP+FN$,与召回率的公式一样
  • $FPR=\\fracFPFP+TN$,表示真实值为负的样本中预测错误的样本数占比,等于1-特异度(Specificity)

可以看到,ROC曲线同时考虑了分类模型对正例和负例的分类能力,对样本类别是否均衡并不敏感,因此,常被用来评价模型的性能。其值越靠上说明模型越好。与P-R图类似,当一个模型的ROC曲线被另一个模型的曲线完全包住,则可认为后者的性能优于前者;如果两个模型的ROC曲线发生了交叉,则难以一般性地判断两者孰优孰劣。如果非要比较,比较合理的判据是比较ROC曲线下的面积,即AUC。

AUC表示ROC曲线下面的面积,值范围为0~1。其值越高,模型性能越好;AUC=1.0时模型最好,AUC=0.5表示随机分类。

模型评价指标总结

参考技术A 1、分类准确度

定义:分类准确度(accuracy),指在分类模型中,模型的输出分类结果与真实结果一致的样本占总分类样本的比例。

优缺点:其容易理解,但致命缺点是对于极度偏斜的数据,使用分类准确度是不科学不全面的。如癌症产生的概率时0.1%,那如果不用任何机器学习的算法,只要系统将所有人都预测为健康,那么即可达到99.9%的准确率。这显然是不科学的。

2、精准率和召回率

精准率和召回率又可分别称为查准率和查全率,即平常所说的precision和recall。想要弄清楚这两个指标的计算方法,首先需要对混淆矩阵有个清晰的认识。

(1)混淆矩阵

混淆矩阵是一个2*2的矩阵形式的表格,其行为真实标签分布,列为预测标签分布。如下:

其中,第一行为真实值为P,第二行为真实值为N。第一列为预测值为P,第二列为预测值为N。设矩阵为M,则M11为真实值为p且预测值为P,M12为真实值为p但预测值为N,M21为真实是为N但预测值为P,M22为真实值为N且预测值为N。

(2)精准率(precision)

precision=TP/(TP+FP)。含义为所有预测为positive的样本中真正为positive的样本数所占比例。即预测为P,且预测对了的比例。通常含义上,精准率为我们关注的事件预测得有多准。

(3)召回率(recall)

recall=TP/(TP+FN)。含义为所有实际为positive的样本中预测对了的样本数所占比例。即真实值为P,且预测对了的比例。通常含以上,召回率为我们关注的事件真正预测成功的比例为多少。

3、综合评价指标

精准率和召回率是两个矛盾的指标,一个高时,另一个就偏低。因此,需要一个综合性的指标来对模型性能进行评估。

(1)F值

F值precision和recall的调和平均数,使用调和平均数时,假设两者一样重要,称为F1-score。

F1-score=(2recall*precision)/(recall+precision)

(2)P-R曲线(Precision-Recall Curve)

以precision为纵轴,以recall为横轴,取不同的分类阈值,在此基础上画出来的一条曲线就叫做PR曲线。PR曲线越接近右上角(precision=1,recall=1),代表模型越好。一般而言,比较P-R曲线下面积的大小,可在一定程度上表征模型在查准率和查全率上取得相对“双高”的比例,但该值不太容易计算。因此,其他相对容易计算的性能度量被提出。

(2)ROC曲线(Receiver Operating Characteristic Curve)

ROC曲线,全称“受试者工作特征”曲线,以“真正率”为y轴,以“假正率”为x轴,取不同的分类阈值,在此基础上画出来的一条曲线就叫做ROC曲线。ROC曲线越接近左上角(true positive rate=1,false positive rate=0),代表模型性能越好。同P-R曲线一样,一般通过ROC曲线下的面积(auc)来判断模型的好坏。AUC越大,代表模型性能越好,若AUC=0.5,即ROC曲线与45度角线重合,表示模型的区分能力与随机猜测没有差别。

4、回归模型的评价指标

1、均方误差MSE

2、均方根误差RMSE

3、平均绝对误差MAE

4、R Square

均方根误差和平均绝对误差依据数据本身的量纲,不同的模型不具有可比性,没有分类准确率这样统一在0-1之间取值的性质。因此,出现了R square统计量。

R square优点:

(1)对于分子来说,预测值和真实值之差的平方和,即使用我们的模型预测产生的错误。

(2)对于分母来说,是均值和真实值之差的平方和,即认为“预测值=样本均值”这个模型(Baseline Model)所产生的错误。

(3)我们使用Baseline模型产生的错误较多,我们使用自己的模型错误较少。因此用1减去较少的错误除以较多的错误,实际上是衡量了我们的模型拟合住数据的地方,即没有产生错误的相应指标。

R square结论:

(1)R square<=1

(2)R square越大越好,越大说明减少的分子小,错误率低。其最大值为1。

(3)当我们的模型等于基准模型时,R square = 0

(4)如果R square<0,说明我们学习到的模型还不如基准模型。此时,很可能我们的数据不存在任何线性关系。

以上是关于分类模型的性能评估指标总结的主要内容,如果未能解决你的问题,请参考以下文章

模型评价指标总结

R语言编写自定义函数计算分类模型评估指标:准确度特异度敏感度PPVNPV数据数据为模型预测后的混淆矩阵比较多个分类模型分类性能(逻辑回归决策树随机森林支持向量机)

机器学习:模型性能评估与参数调优

模型评估——评估指标的局限性

分类模型的评估与选择

对象检测/分类任务的性能指标(用于图像)