机器学习中评价指标

拟合相关

一、R2 决定系数(拟合优度)
这里写图片描述

它是表征回归方程在多大程度上解释了因变量的变化,或者说方程对观测值的拟合程度如何。
因为如果单纯用残差平方和会受到你因变量和自变量绝对值大小的影响,不利于在不同模型之间进行相对比较.而用拟合优度就可以解决这个问题。例如一个模型中的因变量:10000、20000…..,而另一个模型中因变量为1、2……,这两个模型中第一个模型的残差平方和可能会很大,而另一个会很小,但是这不能说明第一个模型就别第二个模型差。

二. 平均绝对误差(Mean Absolute Error , MAE)

三. 均方误差(Mean Squared Error, MSE)

四、均方根误差(Root Mean Squared Error, RMSE)

五、Root Mean Squared Logarithmic Error, RMSLE

如果预测的值的范围很大,RMSE会被一些大的值主导。这样即使你很多小的值预测准了,但是有一个非常大的值预测的不准确,RMSE就会很大。 相应的,如果另外一个比较差的算法对这一个大的值准确一些,但是很多小的值都有偏差,可能RMSE会比前一个小。

先取log再求RMSE,可以稍微解决这个问题,RMSE一般对于固定的平均分布的预测值才合理,所以对于预测值波动范围较大的采用RMSLE比较合适


分类相关

一、 ROC(Receiver Operating Characteristic)接收者操作特征

针对一个二分类问题,将实例分成正类(postive)或者负类(negative)。但是实际中分类时,会出现四种情况.

(1)若一个实例是正类并且被预测为正类,即为真正类(True Postive TP)

(2)若一个实例是正类,但是被预测成为负类,即为假负类(False Negative FN)

(3)若一个实例是负类,但是被预测成为正类,即为假正类(False Postive FP)

(4)若一个实例是负类,但是被预测成为负类,即为真负类(True Negative TN)

 

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

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

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

 

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

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

 

横轴FPR:   1-TNR,1-Specificity,FPR越大,预测正类中实际负类越多。

纵轴TPR: Sensitivity(正类覆盖率),TPR越大,预测正类中实际正类越多。

理想目标: TPR=1,FPR=0,即图中(0,1)点,故ROC曲线越靠拢(0,1)点,越偏离45度对角线越好,Sensitivity、Specificity越大效果越好

 

AUC分数是曲线下的面积(Area under curve),越大意味着分类器效果越好。

绘制过程: 

绘图过程很简单:给定m个正例子,n个反例子,根据学习器预测结果进行排序,先把分类阈值设为最大,使得所有例子均预测为反例,此时TPR和FPR均为0,在(0,0)处标记一个点,再将分类阈值依次设为每个样例的预测值,即依次将每个例子划分为正例。设前一个坐标为(x,y),若当前为真正例,对应标记点为(x,y+1/m),若当前为假正例,则标记点为(x+1/n,y),然后依次连接各点。

下面举个绘图例子: 
有10个样例子,5个正例子,5个反例子。有两个学习器A,B,分别对10个例子进行预测,按照预测的值(这里就不具体列了)从高到低排序结果如下: 
A:[反正正正反反正正反反] 
B : [反正反反反正正正正反] 
按照绘图过程,可以得到学习器对应的ROC曲线点 
A:y:[0,0,0.2,0.4,0.6,0.6,0.6,0.8,1,1,1] 
x:[0,0.2,0.2,0.2,0.2,0.4,0.6,0.6,0.6,0.8,1] 
B:y:[0,0,0.2,0.2,0.2,0.2,0.4,0.6,0.8,1,1] 
x:[0,0.2,0.2,0.4,0.6,0.8,0.8,0.8,0.8,0.8,1] 
绘制曲线结果如下:

这里写图片描述

蓝色为学习器A的ROC曲线,其包含了B的曲线,说明它性能更优秀,这点从A,B对10个例子的排序结果显然是能看出来的,A中正例排序高的数目多于B。此外,如果两个曲线有交叉,则需要计算曲线围住的面积(AUC)来评价性能优劣。

为什么使用Roc和Auc评价分类器

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

换句话说,就是ROC曲线能够尽可能客观的反应分类器的性能,而不受样本的影响

 

详细参考:http://blog.csdn.net/zdy0_2004/article/details/44948511

原文地址:https://www.cnblogs.com/gczr/p/7079801.html