推荐算法常用评价指标

1 混淆矩阵

TP(true positive):表示样本的真实类别为正,最后预测得到的结果也为正;

FP(false positive):表示样本的真实类别为负,最后预测得到的结果却为正;

FN(false negative):表示样本的真实类别为正,最后预测得到的结果却为负;

TN(true negative):表示样本的真实类别为负,最后预测得到的结果也为负.

acc的不适用场景:

正负样本不平衡的情况下,准确率这个评价指标有很大的缺陷。比如在互联网广告里面,点击的数量是很少的,一般只有千分之几,如果用acc,即使全部预测成负类(不点击)acc也有 99% 以上,没有意义。因此,单纯靠准确率来评价一个算法模型是远远不够科学全面的。

指标计算tips:

1.计算auc的时候就必须用概率,不能用标签的。auc是计算输出分数的排序能力,会穷举所有可能的阈值。

2.auc的直观解释是任取一个正样本和负样本,正样本的预测值大于负样本的预测值的概率。所以只要全部正样本的预测值大于全部负样本的预测值,则auc取1。但accuracy是按照0.5去划分的。

指标代码:

sklearn计算auc(一):使用sklearn.metrics.roc_auc_score()计算二分类的auc

sklearn计算auc(二):使用sklearn.metrics.roc_auc_score()计算多分类的auc

更多指标计算例子,持续更新中ing


打印字体收集一批:

1、准确率(Accuracy)

准确率(accuracy)计算公式为:
这里写图片描述

2、错误率(Error rate)

错误率则与准确率相反,描述被分类器错分的比例,error rate = (FP+FN)/(TP+TN+FP+FN),对某一个实例来说,分对与分错是互斥事件,所以accuracy =1 - error rate。

3、灵敏度(sensitive)

sensitive = TP/P,表示的是所有正例中被分对的比例,衡量了分类器对正例的识别能力。

4、特效度(sensitive)

specificity = TN/N,表示的是所有负例中被分对的比例,衡量了分类器对负例的识别能力。

5、精确率、精度(Precision)

精确率(precision)定义为:
这里写图片描述

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

6、召回率(recall)

召回率是覆盖面的度量,度量有多个正例被分为正例,recall=TP/(TP+FN)=TP/P=sensitive,可以看到召回率与灵敏度是一样的。

7、综合评价指标(F-Measure)
P和R指标有时候会出现的矛盾的情况,这样就需要综合考虑他们,最常见的方法就是F-Measure(又称为F-Score)。
F-Measure是Precision和Recall加权调和平均:
这里写图片描述
当参数α=1时,就是最常见的F1,也即
这里写图片描述
可知F1综合了P和R的结果,当F1较高时则能说明试验方法比较有效。

1、ROC曲线:

ROC(Receiver Operating Characteristic)曲线是以假正率(FPR)和真正率(TPR)为轴的曲线,ROC曲线下面的面积我们叫做AUC,如下图所示:

图片根据Paper:Learning from eImbalanced Data画出

纵坐标为真阳性率(True Positive Rate, TPR):TPR = TP / P,其中P是真实正样本的个数,TP是P个正样本中被分类器预测为正样本的个数。

横坐标为假阳性率(False Positive Rate, FPR):FPR = FP / N ,N是真实负样本的个数,FP是N个负样本中被分类器预测为正样本的个数。

(1)曲线与FP_rate轴围成的面积(记作AUC)越大,说明性能越好,即图上L2曲线对应的性能优于曲线L1对应的性能。即:曲线越靠近A点(左上方)性能越好,曲线越靠近B点(右下方)曲线性能越差。

(2)A点是最完美的performance点,B处是性能最差点。

(3)位于C-D线上的点说明算法性能和random猜测是一样的–如C、D、E点。位于C-D之上(即曲线位于白色的三角形内)说明算法性能优于随机猜测–如G点,位于C-D之下(即曲线位于灰色的三角形内)说明算法性能差于随机猜测–如F点。

(4)虽然ROC曲线相比较于Precision和Recall等衡量指标更加合理,但是其在高不平衡数据条件下的的表现仍然过于理想,不能够很好的展示实际情况。

2、PR曲线:

即,PR(Precision-Recall)曲线。

举个例子(例子来自Paper:Learning from eImbalanced Data):假设N_c>>P_c(即Negative的数量远远大于Positive的数量),若FP很大,即有很多N的sample被预测为P,因为F P r a t e = F P N c FP_{rate}=\frac{FP}{N_c}FPrate​=NcFP​,因此FP_rate的值仍然很小(如果利用ROC曲线则会判断其性能很好,但是实际上其性能并不好),但是如果利用PR,因为Precision综合考虑了TP和FP的值,因此在极度不平衡的数据下(Positive的样本较少),PR曲线可能比ROC曲线更实用。

参考链接:

1.https://blog.csdn.net/qq_40006058/article/details/89432773?depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-1&utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-1

2.推荐常用指标汇总:https://juejin.im/entry/5b2e690af265da595e3ccd6b

3.指标多样性个性化定义指标:https://lumingdong.cn/criteria-for-evaluating-recommendation-systems-in-industry.html#%E4%B8%AA%E6%80%A7%E5%8C%96

4.scikit learn :https://scikit-learn.org/stable/modules/classes.html#sklearn-metrics-metrics

5.指标的缺陷:https://blog.csdn.net/quiet_girl/article/details/70830796

6.auc的原理以及计算:https://www.jianshu.com/p/2ca96fce7e81

  • 0
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值