准确率、精确率、召回率、F-Measure、ROC、AUC

 先理解一下正类(Positive)和负类(Negetive),比如现在要预测用户是否点击了某个广告链接,点击了才是我们要的结果,这时,点击了则表示为正类,没点击则表示为负类。

  TP(True Positive):被预测成了正类的正类,即正确预测的正类

  FP(False Positive):被预测成了正类的负类

  TN(True Negetive):被预测成了负类的负类,即正确预测的负类

  FN(False Negetive):被预测成了负类的正类

一、准确率(Accuracy)

  准确率跟正类负类没多大关系,表示在预测结果中,正确预测的数量 / 样本总数。

二、精确率(Precision)

  在预测结果中,正确预测的正类数 / 预测为正类的数量 : TP / (TP+FP)

三、召回率(Recall)

  在预测结果中,正确预测的正类数 / 原本即为正类的数量 : TP / (TP+FN)

四、F-Measure

  用precision和recall两个指标不直观,索性把他们合并为一个变量——F-measure:Recall * Precision * 2 / (Recall + Precision)(越大越好,1为理想状态,此时precision为1,recall为1)

五、ROC

  ROC曲线是以 FP Rate 为横轴,TP Rate 为纵轴的曲线。如下图所示

        准确率、精确率、召回率、F-Measure、ROC、AUC

        图片来源:https://www.cnblogs.com/haoguoeveryone/p/haoguo_5.html

六、AUC

  AUC 即 ROC 曲线对应的面积,面积越大越好。

七、疑问

  ROC曲线理想情况下,应该是TP Rate越接近1,FP Rate越接近0更好才对。但对应于AUC,应该是曲线越靠近左上方AUC越大,曲线越靠近右下方AUC越小。这样就显得有点矛盾了,有点搞不清楚,是不是曲线呈现下降趋势才是正确的?希望有大神看到了帮我一下,谢谢!感激不尽!

 

上一篇:python 绘制ROC图像


下一篇:R语言中绘制ROC曲线和PR曲线