机器学习性能评估指标

在机器学习、数据挖掘、推荐系统完成建模之后,需要对模型的效果做评价。
业内目前常常采用的评价指标有准确率(Precision)、召回率(Recall)、F值(F-Measure)等,下图是不同机器学习算法的评价指标:


混淆矩阵:

True Positive(真正,TP):将正类预测为正类数
True Negative(真负,TN):将负类预测为负类数
False Positive(假正,FP):将负类预测为正类数误报 (Type I error)
False Negative(假负,FN):将正类预测为负类数→漏报 (Type II error)


1、准确率(Accuracy)
准确率(accuracy)计算公式为:

2、错误率(Error rate)
错误率则与准确率相反,描述被分类器错分的比例,error rate = (FP+FN)/(TP+TN+FP+FN),对某一个实例来说,分对与分错是互斥事件,所以accuracy =1 - error rate。
3、灵敏度(sensitive)
sensitive = TP/P,表示的是所有正例中被分对的比例,衡量了分类器对正例的识别能力。
4、特效度(specificity)
specificity = TN/N,表示的是所有负例中被分对的比例,衡量了分类器对负例的识别能力。
5、精确率(Precision)
精确率(precision)定义为:

6、召回率(recall)/ 查全率
召回率是覆盖面的度量,度量有多少个正例被分为正例,recall=TP/P=sensitive,可以看到召回率与灵敏度是一样的。
7、综合评价指标(F-Measure)/(F-Score)
Precision和Recall指标有时候会出现的矛盾的情况,这样就需要综合考虑他们,最常见的方法就是F-Measure(又称为F-Score)。
F-Measure是Precision和Recall加权调和平均:

当参数α=1时,就是最常见的F1-Score,也即

可知 F1-Score 综合了 Precision 和 Recall 的结果,当F1-Score较高时则能说明试验方法比较有效。
8、ROC曲线:
ROC(Receiver Operating Characteristic)曲线是以假正率(FP_rate)和真正率(TP_rate)为轴的曲线,ROC曲线下面的面积我们叫做AUC,如下图所示:

其中:

(1)曲线与FP_rate轴围成的面积(记作AUC)越大,说明性能越好,即图上L2曲线对应的性能优于曲线L1对应的性能。即:曲线越靠近A点(左上方)性能越好,曲线越靠近B点(右下方)曲线性能越差。
(2)A点是最完美的Performance点,B处是性能最差点。
(3)位于C-D线上的点说明算法性能和随机猜测是一样的–如C、D、E点。位于C-D之上(即曲线位于白色的三角形内)说明算法性能优于随机猜测–如G点,位于C-D之下(即曲线位于灰色的三角形内)说明算法性能差于随机猜测–如F点。
(4)虽然ROC曲线相比较于Precision和Recall等衡量指标更加合理,但是其在高不平衡数据条件下的的表现仍然过于理想,不能够很好的展示实际情况。

9、PR曲线:
PR(Precision-Recall)曲线。
举个例子(例子来自Paper:Learning from eImbalanced Data):
假设N_c >> P_c(即Negative的数量远远大于Positive的数量),若FP很大,即有很多N(假)的样本被预测为P(真),因为

,因此FP_rate的值仍然很小(如果利用ROC曲线则会判断其性能很好,但是实际上其性能并不好),但是如果利用PR,因为Precision综合考虑了TP和FP的值,因此在数据极度不平衡的情况下(Positive的样本相对较少),PR曲线可能比ROC曲线更实用。

10、MSE(Mean Square Error)均方误差
MSE是真实值与预测值的差值的平方然后求和平均 ; 通过平方的形式便于求导,所以常被用作线性回归的损失函数。

11、MAE(Mean Absolute Error)平均绝对误差
MAE是绝对误差的平均值;可以更好地反映预测值误差的实际情况。

你可能感兴趣的:(机器学习性能评估指标)