机器学习模型的常用评价指标

在看论文的过程中发现了有很多模型好坏的评价指标,有比较常见的指标,也有一些从未了解到的评价指标,是时候来整理一波了,以便后续学习查缺补漏。

常见概念:


  • 真正(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

1、混淆矩阵

混淆矩阵是监督学习中的一种可视化工具,主要用于比较分类结果和实例的真实信息。矩阵中的每一行代表实例的预测类别,每一列代表实例的真实类别。

2、准确率(Accuracy)

分类精确率:分类器正确分类的样本数与总样 本数之比,数值越高,性能越好

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

总结:

适用于正例样本和反例样本平衡的条件下,虽然准确率能够判断总的正确率,但是在样本不均衡的情况下,并不能作为很好的指标来衡量结果。比如在样本集中,正样本有90个,负样本有10个,样本是严重的不均衡。对于这种情况,我们只需要将全部样本预测为正样本,就能得到90%的准确率,但是完全没有意义。对于新数据,完全体现不出准确率。因此,在样本不平衡的情况下,得到的高准确率没有任何意义,此时准确率就会失效。所以,我们需要寻找新的指标来评价模型的优劣。

3、精确率(Precision)

精确率容易和准确率被混为一谈。其实,精确率只是针对预测正确的正样本而不是所有预测正确的样本。表现为预测出是正的里面有多少真正是正的。可理解为查准率。即预测为正样本的样本中真正为正样本 所占的比例。

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

总结:

适用于样本不平衡,且正例样本较多的情况,精确率和准确率看上去有些类似,但是是两个完全不同的概念。精确率代表对正样本结果中的预测准确程度,准确率则代表整体的预测准确程度,包括正样本和负样本。

4、召回率(Recall)

召回率表现出在实际正样本中,分类器能预测出多少。与真正率相等,可理解为查全率(这个经常和准确率搞混淆,实际上通俗来讲精确率表示找的对,召回率表示找的全)。
Recall = TP/(TP+FN),即正确预测的正例数 /实际正例总数(正样本中被成功预测为正样本的比例)

总结:

下面我们通过一个简单例子来看看精确率和召回率的关系。假设一共有10篇文章,里面4篇是你要找的。根据你的算法模型,你找到了5篇,但实际上在这5篇之中,只有3篇是你真正要找的。那么算法的精确率(找对率)是3/5=60%,也就是你找的这5篇,有3篇是真正对的。算法的召回率(找全率)是3/4=75%,也就是需要找的4篇文章,你找到了其中三篇。通常以精确率还是以召回率作为评价指标,需要根据具体问题而定。

5、F1分数

为例理解这个F1分数,先来看看P-R图,精确率和召回率又被叫做查准率和查全率,可以通过P-R图进行表示:

在评价模型好坏的情况下,我们希望精确率和召回率都很高,但实际上是矛盾的,上述两个指标是矛盾体,无法做到双高。因此,选择合适的阈值点,就需要根据实际问题需求,比如我们想要很高的精确率,就要牺牲掉一些召回率。想要得到很高的召回率,就要牺牲掉一些精准率。但通常情况下,我们可以根据他们之间的平衡点(在曲线中查全率和查准率相等的点),定义一个新的指标:F1分数(F1-Score)。F1分数同时考虑精确率和召回率,让两者同时达到最高,取得平衡。(在P-R曲线中平衡点越接近(1.0,1.0)该点的模型越好)

F1分数表达式为:

6、Roc曲线

真正率(在正类中,正类被预测正确所占的比例)----越大越好:

  TPR = \frac{TP}{(TP+FN)}

假正率 (1 - (在负类中,负类被预测正确所占的比例))----越小越好:

FPR = \frac{FP}{(FP+TN)}

这里还有关于真正率、假正率的一种比较好理解的方式。如下:

真正率:代表分类器预测的正类中实际正实例占所有正实例的比例。

假正率:代表分类器预测的正类中实际负实例占所有负实例的比例,1-真正率。

假设采用逻辑回归分类器,其给出针对每个实例为正类的概率,那么通过设定一个阈值如0.6,概率大于等于0.6的为正类,小于0.6的为负类。对应的就可以算出一组(FPR,TPR),在平面中得到对应坐标点。随着阈值的逐渐减小,越来越多的实例被划分为正类,但是这些正类中同样也掺杂着真正的负实例,即TPR和FPR会同时增大。阈值最大时,对应坐标点为(0,0),阈值最小时,对应坐标点(1,1)。

如下面这幅图,(a)图中实线为ROC曲线,线上每个点对应一个阈值。

TPR和FPR分别是基于实际表现1、0出发的,也就是说在实际的正样本和负样本中来观察相关概率问题。因此,无论样本是否均衡,都不会被影响。继续用上面例子,总样本中有90%的正样本,10%的负样本。TPR能够得到90%正样本中有多少是被真正覆盖的,而与那10%无关。同理FPR能够得到10%负样本中有多少是被覆盖的,而与那90%无关。因此我们从实际表现的各个结果出发,就能避免样本不平衡的问题,这就是为什么用TPR和FPR作为ROC、AUC指标的原因。

ROC曲线中的四个点和一条线:
点(0,0):即FPR=TPR=0,FP=TP=0,(假的正是0,真的正也是0,即我没把任意一个样例预测为正)分类器把每个实例都预测为负类。 一般
点(1,0):即FPR=1,TPR=0,故FN=0,FP=0,都错了,最差分类器,避开了所有正确答案。 最差
点(0,1):即FPR=0, TPR=1,故TP=0,TN=0,将所有的样本都正确分类。 最好
点(1,1):故FN=0,TN=0,我没把任意一个样例预测为负,分类器把每个实例都预测为正类。一般
总之:ROC曲线越接近左上角,该分类器的性能越好。而且一般来说,如果ROC是光滑的,那么基本可以判断没有太大的过拟合。

7、AUC

AUC(Area Under Curve) 表示ROC中曲线下的面积,用于判断模型的优劣。如ROC曲线所示,连接对角线的面积刚好是0.5,对角线的含义也就是随机判断预测结果,正负样本覆盖应该都是50%。另外,ROC曲线越陡越好,所以理想值是1,即正方形。所以AUC的值一般是介于0.5和1之间的。AUC评判标准可参考如下

  • 0.5-0.7:效果较低。
  • 0.7-0.85:效果一般。
  • 0.85-0.95:效果很好。
  • 0.95-1:效果非常好。

两种计算AUC的方法

  1.  绘制ROC曲线,ROC曲线下面的面积就是AUC的值。
  2.  假设总共有(m+n)个样本,其中正样本m个,负样本n个,总共有m*n个样本对,计数,正样本预测为正样本的概率值大于负样本预测为正样本的概率值记为1,累加计数,然后除以(m*n)就是AUC的值。

8、MAP

MAP全称 Mean Average Precision,表示平均正确率,是每个类别准确率的平均结果,常用用在非平衡样本中。假设有测试集的类别数为2,即Lable1、Label2;MAP的做法为先统计Lable1被正确预测的准确率P_{1},再统计Label2被正确预测的准确率P_{2},计算平均准确率即\frac{P_{1}+P_{2}}{2}

9、MRR

MRR全称为 Mean reciprocal rank 是对搜索算法进行评价的机制,指多个查询语句的排名倒数的均值。

10、均方根误差(RMSE)
RMSE全称为 Root Mean Square Error,有时候很容易和MSE混淆,注意MSE的公式如下:

RMSE公式如下:

10、平均绝对误差(MAE)

MAE的全称为 Mean Absolute Error,其中公式如下:

11、 RSquared(R2)

公式如下:

\hat{R}^{2} = 1 - \frac{\sum_{i=1}^{n}(y_{i}-\hat{y}_{i})^{2}}{\sum_{i=1}^{n}(y_{i}-\bar{y})^{2}}
 

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值