机器学习中算法的性能评估

tech2022-09-18  95

机器学习和推荐系统中的评测指标—(1)准确率(Accuracy);(2)错误率(Error rate)(3)精确率、精度(Precision);(4)召回率(Recall);(5)灵敏度/敏感性(sensitive);(6)特效度/特异性(specificity);(7)F值(F-Measure)简介/综合评价指标(F-Measure);(8)计算速度;(9)鲁棒性;(10)可扩展性;(11)可解释性;(12)ROC曲线(Receiver Operating Characteristic);(13)PR曲线(Precision-Recall曲线);(14)AUC(Area UnderCharacteristic)。

在介绍以上指标时先引入几个概念:(必须先了解“混淆矩阵”)(正确和错误是True和False表示预测结果是否正确,T表示不管是在预测为P还是N的结果中预测正确的情况)(正负是positive和Negative表示预测的结果,就是样本被预测为P还是N)

True Positive(TP:真):在判定为positive(正)的样本中,判断正确的数目(真实情况为正例,预测情况为正例)---即将类预测为正类数。(就是在将测试样本判定为Positive的预测结果样本中,有多少个True就是预测正确的数目)(统计在Positive预测结果中,预测正确True的数目)

False Positive(FP:假):在判定为positive(正)的样本中,判断错误的数目(真实情况为反例,预测情况为正例)---即将类预测为正类数(误报)。(就是在将测试样本判定为Positive的结果样本中,有多少个False就是预测错误的数目))(统计在Positive预测结果中,预测错误False的数目)

True Negative(TN:负):在判定为Negative的样本中,判断正确的数目((真实情况为反例,预测情况为反例))---即将类预测为负类数。(就是在将测试样本判断为Negative的结果样本中,有多少个True就是预测正确的数目)(统计在Negative预测结果中,预测正确True的数目)

False Negative(FN:负):在判定为Negative的样本中,判断错误的数目(真实情况为正例,预测情况为反例)---即将类预测为负类数。(就是在将测试样本判断为Negative的结果样本中,有多少个False就是预测错误的数目,即将真的也预测为Negative了,就是预测错误了,要统计将真的预测为Negative的数目)(统计在Negative预测结果中,预测错False的数目)

 PositiveNegativeTrueTPTNFalseFPFN

实际类别和预测类别:

                预测类别

 

Yes/P/正例No/N/负例总计

Yes/T/预测正确TPFNP(本来实际为Yes)No/F/预测错误FPTNN(本来实际为No)总计(被分为Yes)(所有的实际是Y/N被预测为P的数目)(所有的实际为Y/N的被预测为N的数目)P+N

(1)准确率(Accuracy)计算公式A:(被分对的样本除以所有的样本数)

                                                              

(准确率就是预测正确的(TP、TN)除以所有的结果)(T表示在P和N的预测结果中预测正确)

正确率越高,分类器越好。

(2)错误率(Error rate)计算公式:(错误率与准确率相反,描述被分类器错分的比例)

                                                              

分对与分错是互斥事件,所以accuracy=1-error rate

(3)精确率、精度(Precision)计算公式:

                                                             

表示被分为正例(positive)的示例中实际为正例的比例。

(精确率和召回率是相互影响的,理想情况下两者都高,但是一般情况下准确率高,召回率就低;召回率高,精确率就低;如果两者都低应该是哪里算的有问题)

(4)召回率(Recall)计算公式R:

                                                               

召回率是覆盖面的度量,度量有多少个正例被分为正例。(有多少个正例中的正例值的是正确分为正例的个数,被分为正例中的正例包含正确分的和错误分的(错误分的就是正例被分到N中就是N中分错的即FN))

可以看到召回率和灵敏度是一样的。

(5)灵敏度(sensitive)计算公式:(表示所有正例中P被分对的TP比例,衡量了分类器对负例的识别能力)

                                                              

(6)特效度(specificity)计算公式:(表示所有负例中N被分对的TN比例,衡量了分类器对负例的识别能力)

                                                             

(7)F值(F-Measure)简介/综合评价指标(F-Measure)(又称为F-Fcore):

P和R有时间会出现矛盾的情况下,在P精确率和R召回率都要求高的情况下,综合衡量P和R就用F值:

F-Measure是Precision和Recall的加权调和平均:

                                                            

当参数时,就是最常见的F1(F1 score),也即

                                                               

可知F1综合了P和R的结果,当F1较高时则能说明实验方法比较有效;一般多个模型假设进行比较时,F1 score越高,说明它越好。

(8)计算速度:分类器训练和预测需要的时间。

(9)鲁棒性:处理缺失值和异常值的能力。

(10)可扩展性:处理大数据集的能力。

(11)可解释性:分类器的预测标准的可理解性,像决策树产生的规则就是很容易理解,而神经网络的一堆参数就不好理解,我们只好把它看成一个黑盒子。

(12)ROC曲线(Receiver Operating Characteristic):

ROC曲线是以假正例率(FP_rate(真实值为负例,而预测为正例的比例)和真正例率(TP_rate(真实值是正例,且预测为正例的比例))为轴的曲线,ROC曲线下面的面积我们叫做AUC,一般AUC值越大,说明模型越好。如图所示:(ROC曲线一般横轴是FP_rate,纵轴是TP_rate)

 

(13)PR曲线(Precision-Recall曲线)

假设N_c>>P_c(即Negative的数量远远大于Positive的数量),若FP很大,即有很多N的sample被预测为P,因为,因此FP_rate的值仍然很小(如果利用ROC曲线则会判断其性能很好,但是实际上其性能并不好),但是如果利用PR,因为Precision综合考虑了TP和FP的值,因此在极度不平衡的数据下(Positive的样本较少),PR曲线可能比ROC曲线更实用。

(14)AUC(Area UnderCharacteristic)

ROC曲线下面积是分类器区分类的能力的度量,用作ROC曲线的总结。AUC越高,模型在区分正类和负类方面的性能越好。

1)当AUC=1时,分类器能够正确区分所有的正类点和负类点。然而,如果AUC为0,那么分类器将预测所有的否定为肯定,所有的肯定为否定。

2)当0.5<AUC<1时,分类器很有可能区分正类值和负类值。这是因为与假反例和假正例相比,分类器能够检测更多的真正例和真反例。

3)当AUC=0.5时,分类器无法区分正类点和负类点。这意味着分类器要么预测所有数据点的随机类,要么预测常量类。

因此,分类器的AUC值越高,其区分正类和负类的能力就越好。

参考连接:http://www.jisuapp.cn/news/8752.html

 

最新回复(0)