机器学习评价指标

目录

1 分类

1.1 混淆矩阵

1.2 准确率

1.3  精确率与召回率

1.4 P-R曲线(平衡点 BEP)

1.5 F1-Score

1.6 ROC和AUC

1.6.1 ROC

1.6.2 AUC

1.6.3 P-R曲线和ROC曲线有什么联系、区别,如何选择呢?

1.7 代价敏感错误率与代价曲线

1.7.1 代价矩阵(cost matrix)

1.7.2 代价敏感(cost-sensitive)错误率

1.7.3 代价曲线

1.8 对数损失

1.9 铰链损失(Hinge loss)

1.10 kappa系数

1.11 海明距离

1.12 杰卡德相似系数

1.13 多标签排序

1.13.1 涵盖误差

1.13.2 标签排序平均精度

1.13.3 排序误差

2 拟合(回归)

2.1 平均绝对误差(MAE)

2.2 平均平方误差(均方误差(MSE))

2.3 均方根误差(RMSE)

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

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

2.6 可释方差也叫解释方差

2.7 决定系数(R2)

3 聚类

3.1 兰德指数

3.2 互信息

3.3 轮廓系数

3.4 Calinski-Harabaz

4 信息检索


在使用机器学习算法的过程中,针对不同场景需要不同的评价指标。

1 分类

1.1 混淆矩阵

       混淆矩阵又被称为错误矩阵,是除了ROC曲线和AUC之外的另一个判断分类好坏程度的方法。下面给出二分类的混淆矩阵:

Predicted as PositivePredicted as Negative
Labeled as PositiveTrue Positive(TP)False Negative(FN)
Labeled as NegativeFalse Positive(FP)True Negative(TN)

如上表,可以将结果分为四类:
* 真正例(True Positive, TP):真实类别为正例,预测类别为正例;
* 假负例(False Negative, FN):真实类别为正例,预测类别为负例;
* 假正例(False Positive, FP):真实类别为负例,预测类别为正例 ;
* 真负例(True Negative, TN):真实类别为负例,预测类别为负例;

进一步可以推出这些指标:
* 真正率(True Positive Rate, TPR),又名灵敏度(Sensitivity):被预测为正的正样本数 / 正样本实际数,即:
* 假负率(False Negative Rate, FNR):被预测为负的正样本数/正样本实际数,即:
* 假正率(False Positive Rate, FPR):被预测为正的负样本数/负样本实际数,即:
*真负率(True Negative Rate, TNR),特异度(Specificity):被预测为负的负样本数/负样本实际数,即:

进一步,由混淆矩阵可以计算以下评价指标:

  • 准确率(Accuracy):分类正确的样本数/所有样本数量,即:

  • 平均准确率(Average per-class accuracy):每个类别下的准确率的算术平均,即:

  • 错误率:分类错误的样本/所有样本的数量,即:

1.2 准确率

        准确率(Accuracy)衡量的是分类正确的比例。设是是第i个样本预测类别,是真是类别,在个测试样本上的准确率为

        

       其中1(x)是indicator function,当预测结果与真实情况完全相符时准确率为1,两者越不相符准确率越低。

       虽然准确率适用范围很广,可用于多分类以及多标签等问题上,但在多标签问题上很严格,在有些情况下区分度较差。

1.3  精确率与召回率

  • 精确率,又称查准率(Precision):指的是模型判为正的所有样本中有多少是真正的正样本;正样本的预测数/被预测为正样本的数量(注意:精确率和准确率不同),即: ;挑出的西瓜中有多少比例是好瓜

  • 召回率(Recall)又称查全率:指的是所有正样本有多少被模型判为正样本,即召回;分类正确的正样本个数占正样本个数的比例,即:所有好瓜中有多少比例被挑出来

分析查准率查全率是一对矛盾的度量。若要让查准率比较高,则只挑最有把握的瓜,则难免会漏掉不少好瓜,查全率较低;若要查全率比较高,则通过增加选瓜的数量来实现,若全部瓜都参选,则查全率最高,此时,查准率较低;
应用:在推荐系统中,为了少打扰用户,则查准率比较高;在逃犯信息检索系统中,更希望尽可能少漏掉逃犯,则查全率比较高。

1.4 P-R曲线(平衡点 BEP)

        算法对样本进行分类时,一般都会有置信度,即表示该样本是正样本的概率,比如99%的概率认为样本A是正例,1%的概率认为样本B是正例。通过选择合适的阈值,比如50%,对样本进行划分,概率大于50%的就认为是正例,小于50%的就是负例。

        通过置信度就可以对所有样本进行排序,再逐个样本的选择阈值,在该样本之前的都属于正例,该样本之后的都属于负例。每一个样本作为划分阈值时,都可以计算对应的precision和recall,那么就可以以此绘制曲线。

                

 不同学习器下的P-R曲线

特性:

(1)根据逐个样本作为阈值划分点的方法,可以推敲出

  • recall值是递增的(但并非严格递增),随着划分点左移,正例被判别为正例的越来越多,不会减少。
  • 而精确率precision并非递减,二是有可能振荡的,虽然正例被判为正例的变多,但负例被判为正例的也变多了,因此precision会振荡,但整体趋势是下降。

(2)P-R曲线肯定会经过(0,0)点

  • 比如讲所有的样本全部判为负例,则TP=0,那么P=R=0,因此会经过(0,0)点,但随着阈值点左移,precision初始很接近1,recall很接近0,因此有可能从(0,0)上升的线和坐标重合,不易区分。

(3)曲线最终不会到(1,0)点

  • 很多P-R曲线的终点看着都是(1,0)点,这可能是因为负例远远多于正例。最后一个点表示所有的样本都被判为正例,因此FN=0,所以recall = TP/(TP + FN) = 1, 而FP = 所有的负例样本数,因此precision = TP/(TP+FP) = 正例的占所有样本的比例,故除非负例数很多,否则precision不会为0。

 (4)较合理的P-R曲线应该是(曲线一开始被从(0,0)拉升到(0,1),并且前面的都预测对了,全是正例,因此precision一直是1。

        另外,如果有个划分点可以把正负样本完全区分开,那么P-R曲线就是整个1*1的面积。

        总之,P-R曲线应该是从(0,0)开始画的一条曲线,切割1*1的正方形,得到一块区域。

        评判指标:如果一个学习器的P-R曲线被另一个学习器的P-R曲线完全包住,则可断言后者的性能优于前者,例如上面的A和B优于学习器C,但是A和B的性能无法直接判断,但我们往往仍希望把学习器A和学习器B进行一个比较,我们可以根据曲线下方的面积大小来进行比较,但更常用的是平衡点或者是F1值。平衡点(BEP)是查准率=查全率时的取值,如果这个值较大,则说明学习器的性能较好

1.5 F1-Score

        在介绍F1-Score之前,首先介绍调和平均值,调和平均值为:又称倒数平均数,是总体各统计变量倒数的算术平均数的倒数。

F1度量的一般形式——Fβ能够表达对差准率 和查询率的不同偏好:

       

        其中,β>1时,查全率更有影响;β=1时,退化为标准的F1;β<1时,查准率更有影响。

        F1值的一般形式为差准率和查全率的调和均值。 是分类与信息检索中最常用的指标之一。

       

        F1值越大,我们可以认为该学习器的性能较好。

1.6 ROC和AUC

1.6.1 ROC

        ROC(Receiver Operating Characteristic,受试者工作特性)曲线,以及AUC(Area Under Curve),常用来评价一个二值分类器的优劣,ROC横轴为false positive rate,FPR,“假正例率”,也就是误判为正确的比例;纵轴是true positive rate,TPR,“真正例率”,也就是正确的判断为正确的比例。

        设模型输出的正样本集合为 A ,真正的正样本集合为 B ,所有样本集合为 C ,我们称 真正率(True-positive rate), 假正率(False-positive rate)。定义如下:
这里写图片描述

        考虑ROC曲线图中的四个点和一条线。第一个点,(0,1),即FPR=0, TPR=1,这意味着FN(false negative)=0,并且FP(false positive)= 0。这是一个完美的分类器,它将所有的样本都正确分类。第二个点,(1,0),即FPR=1,TPR=0,类似地分析可以发现这是一个最糟糕的分类器,因为它成功避开了所有的正确答案。第三个点,(0,0),即FPR=TPR=0,即FP(false positive)=TP(true positive)=0,可以发现该分类器预测所有的样本都为负样本(negative)。类似的,第四个点(1,1),分类器实际上预测所有的样本都为正样本。经过以上的分析,我们可以断言,ROC曲线越接近左上角,该分类器的性能越好。

由上表可得出横,纵轴的计算公式:

(1)真正类率(True Postive Rate)TPR: TP/(TP+FN),代表分类器预测的正类中实际正实例占所有正实例的比例。即灵敏度Sensitivity。

(2)负正类率(False Postive Rate)FPR FP/(FP+TN),代表分类器预测的正类中实际负实例占所有负实例的比例。即1-特异度1-Specificity。

(3)真负类率(True Negative Rate)TNRTN/(FP+TN),代表分类器预测的负类中实际负实例占所有负实例的比例,TNR=1-FPR。即特异度Specificity。

        真正类率(灵敏度召回率是一模一样的。负正类率是查看有多少负样本被错误地预测为正样本。

              

1.6.2 AUC

一、AUC的四种计算方法

(1)定义法

POC曲线横轴为FPR:假正例率,纵轴为TPR:真正例率。
AUC其实就是ROC曲线下的面积:

        m为总样本个数 。

        AUC分数是曲线下的面积(Area under curve),越大意味着分类器效果越好。显然这个面积的数值不会大于1。又由于ROC曲线一般都处于y=x这条直线的上方,所以AUC的取值范围在0.5和1之间。使用AUC值作为评价标准是因为很多时候ROC曲线并不能清晰的说明哪个分类器的效果更好,而作为一个数值,对应AUC更大的分类器效果更好。

AUC的一般判断标准

  • 0.5 - 0.7:效果较低,但用于预测股票已经很不错了
  • 0.7 - 0.85:效果一般
  • 0.85 - 0.95:效果很好
  • 0.95 - 1:效果非常好,但一般不太可能

(2)排序损失法  

        形式化的看,AUC考虑的是样本预测的排序质量,因此与排序误差有紧密联系。

        给定 m+ 个正例和m-个反例,令D+和D-分别表示正、反例集合,则排序损失定义为:

      

        解释:排序是按照样本被预测成正例的概率由大到小降序排列。理想中的预测是正例都排在反例的前面。但是不一定会是理想的,有可能出现了损失:有的反例出现在了正例的前面,但是要怎样计算这种损失呢?

        遍历每一个反例,对于每一个出现在该反例后面或相等的正例:(比较都是按照预测称为正例的概率来比较的)
1. 若该正例小于该反例,则记录一个罚分
2. 若该正例等于该反例,则记录0.5个罚分

将所有的罚分相加,记为sum

AUC = 1- sum

(3)排序收益法

该方法与排序损失法相似,排序收益法则直接计算ROC曲线下的面积。

具体步骤:

  1. 将样本中正例的个数记为M,反例的个数记为N
  2. 首先对所有样本按照预测为正例的概率由大到小排序。
  3. 遍历每一个正例,对于概率小于或者等于其的反例进行以下计算:
    1. 若该正例大于该反例,则记录一分
    2. 若相等,则记录0.5分

将所有分数相加,记为sum
AUC = sum / m / n

(4)排序法

              

        上述公式中:n0 为样本中反例的个数,n1为样本中正例的个数,ri为当前位置的下标。

解释:

  • 对于排序之后的样本,将每个反例的下标相加(从1开始,不是0),记为sum
  • T = sum - n0*(n0 + 1)/2
  • AUC =T/n0/n1

AUC的排序特性:

        对比accuracy、precision等指标,AUC指标本身和模型预测score绝对值无关,只关注排序效果,因此特别适合排序业务。

        为何与模型预测score值无关为何是很好的特性呢?假设你采用precision、F1等指标,而模型预测的score是个概率值,就必须选择一个阈值来决定哪些样本预测是1哪些是0,不同的阈值选择,precision的值会不同,而AUC可以直接使用score本身,参考的是相对顺序,更加好用。

例如0.7的AUC,其含义可以大概理解为:给定一个正样本和一个负样本,在70%的情况下,模型对正样本的打分高于对负样本的打分。可以看出在这个解释下,我们关心的只有正负样本之间的分数高低,而具体的分值则无关紧要。

1.6.3 P-R曲线和ROC曲线有什么联系、区别,如何选择呢?

(1)联系

P-R曲线和ROC曲线都能对模型进行评估,两个曲线也自然有着千丝万缕的联系。

  • 当召回率不等于0时,P-R曲线的点和ROC曲线的点都能一一对应。

        原因也很简单,两个曲线的点都能对应一个数值确定的混淆矩阵,当召回率不为0时,可以通过P和R的数值,加上样本中正例和反例的个数组方程组,便可计算出混淆矩阵中各项的数值,进而计算真正率和假正率,这样,ROC对应的点也就找到了。

  • 当一个模型a在P-R上优于b时,a在ROC曲线上也同样会优于b,反过来也同样成立。

        证明如下,假定算法1优于算法2。先证明ROC => P-R,固定TPR画条平行横轴的直线,直线和算法1交于点B,和算法2交于点A。示意图如下:

        

        两个点的TPR相等,结合TPR的定义可以得出两者的TP相等,因为算法1优于2,所以B点的FPR小于等于A点的FPR,根据FPR定义,可以得出FP1 <= FP2,最后根据准确率P的定义可以得出,P1 >= P2。两点的TPR相等,也即两点的P-R曲线中,横坐标召回率相等,P1 >= P2,即可得出算法1在P-R曲线中也优于算法2。

(2)区别

        既然已经这么多评价标准,为什么还要使用ROC和AUC呢?因为ROC曲线有个很好的特性:当测试集中的正负样本的分布变化的时候,ROC曲线能够保持不变。在实际的数据集中经常会出现类不平衡(class imbalance)现象,即负样本比正样本多很多(或者相反),而且测试数据中的正负样本的分布也可能随着时间变化

        一般情况下,两者都能很好的完成模型的评估工作,效果相差也不大。但是,当正样本个数严重小于负样本个数,收据严重倾斜时,P-R曲线相比较于ROC曲线更加适合。P-R曲线能够更加的明显直观的表现出模型之间的好坏,示意图如下:

         

        说明:图a和b是原始样本的ROC曲线和PR曲线,图c和d是将负样本增加10倍后的ROC曲线和PR曲线。

  1. 从a和c可以看出,负样本增加10倍后,ROC曲线变化不大。分析一下为什么变化不大,其Y轴是TPR,x轴是FPR,当固定一个threshold来计算TPR和FPR的时候,虽然负样本增加了10倍,也就是FPR的分母虽然变大了,但是正常概率来讲,这个时候超过threshold的负样本量也会随之增加,也就是分子也会随之增加,所以总体FPR变化不大,从这个角度来看的话正负样本稍微不均衡的话,对KS影响也不大,因为KS=max(TPR-FPR),这个前提是正负样本的量都比较大的情况下,因为只有样本量比较大的情况下,根据大数定律,计算出来的频率才非常接近于真实的概率值,有资料显示正负样本都超过6000的量,计算的频率就比较接近概率。所以在样本量都不是很大的情况下,如果样本还极端不均衡的话,就会有一些影响。由此可见,ROC曲线能够尽量降低不同测试集带来的干扰,更加客观地衡量模型本身的性能。
  2. 从b和d图可以看出,负样本增加10倍后,PR曲线变化比较大。也分析一下为什么变化大,其Y轴是precision,x轴是recall,当负样本增加10倍后,在racall不变的情况下,必然召回了更多的负样本,所以精确度会大幅下降,b和d图示也非常明显的反映了这一状况,所以PR曲线变化很大,所以PR曲线对正负样本分布比较敏感。

        下面通过简单的数据直观的表示,假设样本总数10万个,正样本100个,负样本99900个。算法1召回了100个样本,90个为正样本。算法2召回了200个样本,90个正样本。通过上面的公式能计算出:

  • P(algo1) = 0.9, R(algo1) = 0.9, TPR(algo1) = 0.9, FPR(algo1) = 0.0001
  • P(algo2) = 0.45, R(algo2) = 0.9, TPR(algo2) = 0.9, FPR(algo2) = 0.001

diff(P) = 0.45, 但是diff(FPR)=0.0009。因此P-R曲线能够更加直观的表现两个算法的差异。

(3)选择

  • 在很多实际问题中,正负样本数量往往很不均衡。比如,计算广告领域经常涉及转化率模型,正样本的数量往往是负样本数量的1/1000,甚至1/10000。若选择不同的测试集,P-R曲线的变化就会非常大,而ROC曲线则能够更加稳定地反映模型本身的好坏。所以,ROC曲线的适用场景更多,被广泛用于排序、推荐、广告等领域。
  • 但需要注意的是,选择P-R曲线还是ROC曲线是因实际问题而异的,如果研究者希望更多地看到模型在特定数据集上的表现,P-R曲线则能够更直观地反映其性能。
  • PR曲线比ROC曲线更加关注正样本,而ROC则兼顾了两者。
  • AUC越大,反映出正样本的预测结果更加靠前。(推荐的样本更能符合用户的喜好)
  • 当正负样本比例失调时,比如正样本1个,负样本100个,则ROC曲线变化不大,此时用PR曲线更加能反映出分类器性能的好坏。这个时候指的是两个分类器,因为只有一个正样本,所以在画auc的时候变化可能不太大;但是在画PR曲线的时候,因为要召回这一个正样本,看哪个分类器同时召回了更少的负样本,差的分类器就会召回更多的负样本,这样precision必然大幅下降,这样分类器性能对比就出来了。

1.7 代价敏感错误率与代价曲线

1.7.1 代价矩阵(cost matrix)

        现实情况中不同类型的错误所造成的结果不同,影响也不尽相同,例如将健康的患者诊断为病人和将病人诊断为健康的人,虽然看起来都是犯了一次错误但是影响是不相同的:前者只是增加了再一次诊断的麻烦,而后者则会导致病人错过最佳的治疗时机。因此为了权衡不同类型错误所造成的不同的损失,可为错误赋予“非均等代价(unequal cost)”。

        以二分类为例:可设定一个代价矩阵(cost matrix)

真实类别

预测

第0类

结果

第1类

第0类

0

Cost01

第1类

Cost10

0

1.7.2 代价敏感(cost-sensitive)错误率

        其中用costij表示将第i类预测为第j类的代价,决定了错误的影响程度。在非均等代价下,我们所希望的不再是简单地最小化错误的次数,而是希望最小化总体代价(total cost)

        若设上表中第0类为正类,第1类为反类,令D+和D−分别代表样本集中的正类样本子集和反类样本子集,则代价敏感(cost-sensitive)错误率为:

        

1.7.3 代价曲线

        在非均等代价下,我们用代价曲线(cost curve)代替ROC曲线表现学习器的期望总体代价。代价曲线图横轴是取值为[0,1]的正例概率代价

        其中p表示样例为正例的概率。

        纵轴是取值为[0,1]的归一化代价

  

        归一化是规范化(normalization)的特例,规范化表示将不同变化范围的值映射到某相同、固定的范围当中,常见的固定范围是[0,1],这个时候就是“归一化”。

        FPR即之前定义的假正例率,FNR=1-TPR 是假反例率

代价曲线的绘制方式:

  1. ROC曲线上每一点对应代价平面上的一条线段,设ROC曲线上的坐标为(FPR,TPR),计算出相应的FNR;
  2. 在代价平面上绘制一条从(0,FPR)到(1,FNR)的线段,线段下的买诺记就表示了该条件下的期望总体代价;
  3. 将ROC曲线上的每个点转化为代价平面上的一条线段,然后取所有线段的下届,围成的面积即为在所有条件下学习器的期望总体代价。

1.8 对数损失

        对数损失(Log loss)亦被称为逻辑回归损失(Logistic regression loss)或交叉熵损失(Cross-entropy loss)。

        对于二分类问题, 设y∈{0,1},则对每个样本的对数损失为:

        

        可以很容易地将其扩展到多分类问题上。设Y为指示矩阵,即当样本i的分类为k时;设P为估计的概率矩阵,即,则对每个样本的对数损失为:

          

1.9 铰链损失(Hinge loss)

        铰链损失(Hinge loss)一般用来使“边缘最大化”(maximal margin)。

        铰链损失最开始出现在二分类问题中,假设正样本被标记为1,负样本被标记为-1,y是真实值,w是预测值,则铰链损失定义为:

         

        然后被扩展到多分类问题,假设是对真实分类的预测值,是对非真实分类预测中的最大值,则铰链损失定义为:

          

        注意,二分类情况下的定义并不是多分类情况下定义的特例。

1.10 kappa系数

        kappa系数(Cohen's kappa用来衡量两种标注结果的吻合程度,标注指的是把N个样本标注为C个互斥类别。计算公式为

        

        其中是观察到的符合比例,是由于随机性产生的符合比例。当两种标注结果完全相符时,,越不相符其值越小,甚至是负的。

        现在举个栗子,对于50个测试样本的二分类问题,预测与真实分布情况如下表:

            

        预测与真实值相符共有20+15个,则观察到的符合比例为po=(20+15)/50=0.7。计算pe比较复杂,PREDICT预测为1的比例为0.5,GROUND中1的比例为0.6,从完全随机的角度来看,PREDICT与GROUND均为1的概率为0.5*0.6=0.3,PREDICT与GROUND均为0的概率为0.5*0.4=0.2,则PREDICT与GROUND由于随机性产生的符合比例为0.2+0.3=0.5,即pe=0.5,最后求得

Kappa系数用于一致性检验,Kappa计算结果为[-1, 1],但通常kappa是落在0~1之间,可分为五组表示不同级别的一致性。

大小一致性程度
0.0 ~ 0.20极低的一致性
0.21 ~ 0.40一般的一致性
0.41 ~ 0.60中等的一致性
0.61 ~ 0.80高度的一致性
0.81 ~ 1几乎完全一致

假设每一类的真实样本个数为:a_1, a_2, …, a_C;预测出来的每一类样本个数为:b_1, b_2, …, b_C;样本总个数为n 

1.11 海明距离

        海明距离(Hamming Distance)用于需要对样本多个标签进行分类的场景。对于给定的样本i是对第j个标签的预测结果,是第j个标签的真实结果,L是标签数量,则间的海明距离为

         

        其中1(x)是indicator function。当预测结果与实际情况完全相符时,距离为0;当预测结果与实际情况完全不符时,距离为1;当预测结果是实际情况的真子集或真超集时,距离介于0到1之间。

      我们可以通过对所有样本的预测情况求平均得到算法在测试集上的总体表现情况,当标签数量L为1时,它等于1-Accuracy,当标签数L>1时也有较好的区分度,不像准确率那么严格。

1.12 杰卡德相似系数

        杰卡德相似系数( Jaccard similarity coefficients)也是用于需要对样本多个标签进行分类的场景。对于给定的样本i,是预测结果,是真实结果,L是标签数量,则第i个样本的杰卡德相似系数为

           

        它与海明距离的不同之处在于分母。当预测结果与实际情况完全相符时,系数为1;当预测结果与实际情况完全不符时,系数为0;当预测结果是实际情况的真子集或真超集时,距离介于0到1之间。

        我们可以通过对所有样本的预测情况求平均得到算法在测试集上的总体表现情况,当标签数量L为1时,它等于Accuracy

1.13 多标签排序

        这节介绍一些更精细化的多标签分类效果衡量工具。设真实标签分类情况为,分类器预测情况为

1.13.1 涵盖误差

        涵盖误差(Coverage error)计算的是预测结果中平均包含多少真实标签,适用于二分类问题。涵盖误差定义为:

         

       其中。可以看到它实际衡量的是真实标签中有多少排在预测结果的前面。

1.13.2 标签排序平均精度

        标签排序平均精度(Label ranking average precision)简称LRAP,它比涵盖误差更精细:

        

        其中,

1.13.3 排序误差

         排序误差(Ranking loss)进一步精细考虑排序情况:

           

       其中,

2 拟合(回归)

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

2.1 平均绝对误差(MAE)

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

      

        计算每一个样本的预测值和真实值的差的绝对值,然后求和再取平均值。用于评估预测结果和真实数据集的接近程度,其值越小说明拟合效果越好。

2.2 平均平方误差(均方误差(MSE))

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

        

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

2.3 均方根误差(RMSE)

        

         均方根误差就是在均方误差的基础上再开方,其值越小说明拟合效果越好。

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

        范围[0,+∞),MAPE 为0%表示完美模型,MAPE 大于 100 %则表示劣质模型。
        可以看到,MAPE跟MAE很像,就是多了个分母。

        

        注:当真实值有数据等于0时,存在分母0除问题,该公式不可用。且sklearn中没有计算MAPE的库函数,MAPE的计算需自行实现。

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

        对称平均绝对百分比误差(Symmetric Mean Absolute Percentage Error)

         

         注意点:当真实值有数据等于0,而预测值也等于0时,存在分母0除问题,该公式不可用!

2.6 可释方差也叫解释方差

         可释方差也叫解释方差( Explained variance)是根据误差的方差计算得到的:

         

        可解释方差指标衡量的是所有预测值和样本之间的差的分散程度与样本本身的分散程度的相近程度。本身是分散程度的对比。最后用1-这个值,最终值越大表示预测和样本值的分散分布程度越相近。

2.7 决定系数(R2)

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

        

         

       其中,

        意义:拟合优度越大,自变量对因变量的解释程度越高,自变量引起的变动占总变动的百分比高。观察点在回归直线附近越密集。

        取值范围:0-1。越接近于1,说明模型的预测效果越好,越接近于0,说明模型的预测效果越差,当然也存在负值,此时说明模型的效果非常差。

        上面公式表示的是拟合系数计算公式,表示真实值与预测值的差的平方之和,也就是预测值与真实值的误差。表示平方差,我们都知道平方差表示数值的离散程度,越大表示越离散。那么使用 ,表示排除离散的影响。

        我们想要的是一个能够衡量回归拟合好坏程度的度量,而拟合程度不应受到数值离散性的影响,所以,我们通过“相除”的方式来克服这个影响。

3 聚类

3.1 兰德指数

         兰德指数(Rand index)需要给定实际类别信息C,假设K是聚类结果,a表示在C与K中都是同类别的元素对数,b表示在C与K中都是不同类别的元素对数,则兰德指数为:

         

        其中数据集中可以组成的总元素对数,RI取值范围为[0,1],值越大意味着聚类结果与真实情况越吻合。

      对于随机结果,RI并不能保证分数接近零。为了实现“在聚类结果随机产生的情况下,指标应该接近零”,调整兰德系数(Adjusted rand index)被提出,它具有更高的区分度:

          

          ARI取值范围为[−1,1],值越大意味着聚类结果与真实情况越吻合。从广义的角度来讲,ARI衡量的是两个数据分布的吻合程度。

3.2 互信息

        互信息(Mutual Information)也是用来衡量两个数据分布的吻合程度。假设U与V是对N个样本标签的分配情况,则两种分布的熵(熵表示的是不确定程度)分别为:

    

      其中

      U与V之间的互信息(MI)定义为:

     

     其中,

     标准化后的互信息(Normalized mutual information)为:

     

       与ARI类似,调整互信息(Adjusted mutual information)定义为:

       

        利用基于互信息的方法来衡量聚类效果需要实际类别信息,MI与NMI取值范围为[0,1],AMI取值范围为[−1,1],它们都是值越大意味着聚类结果与真实情况越吻合。

3.3 轮廓系数

        轮廓系数(Silhouette coefficient)适用于实际类别信息未知的情况。对于单个样本,设a是与它同类别中其他样本的平均距离,b是与它距离最近不同类别中样本的平均距离,轮廓系数为:

          

         对于一个样本集合,它的轮廓系数是所有样本轮廓系数的平均值。

         轮廓系数取值范围是[−1,1],同类别样本越距离相近且不同类别样本距离越远,分数越高。

3.4 Calinski-Harabaz

        Calinski-Harabaz是评价聚类模型好坏的参考,就像考试的分数。

        对于聚类模型来说,我们希望聚类结果为相同类别之间的数据距离越近越好,而不同类别之间的数据距离越远越好;因此,对于K个聚类,Calinski-Harabaz的分数S被定义为组间离散组内离散的比率,该分值越大说明聚类效果越好。

CH指数计算公式

4 信息检索

信息检索评价是对信息检索系统性能(主要满足用户信息需求的能力)进行评估,与机器学习也有较大的相关性。

参考:信息检索IR的评价指标综述_新技术笔记_新浪博客

  • 30
    点赞
  • 252
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值