模型的评估与选择:查准率(precision),查全率(recall),F1,ROC,AUC

首先定义几个变量:
True Positive: TP 预测为真,实际为真;
True Negative: TN 预测为假,实际为假;
False Positive:FP 预测为真,实际为假;
False Negative:FN 预测为假,实际为真;

查准率(precision)= TP/TP+FP
查全率(recall):TP/TP+FN

举个栗子:
在对癌症是否为恶性的进行预测的时候,假设训练集中0.5%的为恶性肿瘤,其余都为良性肿瘤,查准率就代表在所有预测为恶性肿瘤中,实际有恶性肿瘤的百分比,百分比越高,证明此模型的效果越好,查准率反应模型判断的准确性,其补数为误判率;

查全率代表了预测有肿瘤的人在真正有肿瘤的所有人中的百分比,百分比越高,模型效果越好,反应模型的判断的全面性,其补数为漏检率;

在肿瘤判断的情景下,或者地震预测的情景下,“宁可错杀,不可漏杀”,查全率相对更重要;
在嫌疑人定罪情景下,为了不冤枉好人,查准率也非常重要;或者在进行推荐的情景下,为了尽量少的打扰用户,对推荐的查准率相当看重,尽量推荐更加准确的东西,查准率指标相对更重要;

有时候,为了查准率,则会牺牲一部分查全率;而为了查全率,也会牺牲一部分查准率;即查准率和查全率存在着相反但相互依赖的关系。

既然查准率和查全率不能两全,综合考虑他们就是f-measure
F-Measure是Precision和Recall加权调和平均:
这里写图片描述
当a=1时,即为F1
这里写图片描述
F1综合了P和R的结果,当F1较高时则比较说明实验方法比较理想。

然后,说一下ROC曲线:ROC(receiver operating characteristic curve)。ROC曲线其实是多个混淆矩阵的结果组合,如果在上述模型中我们没有定好阈值,而是将模型预测结果从高到低排序,将每个概率值依次作为阈值,那么就有多个混淆矩阵。对于每个混淆矩阵,我们计算两个指标TPR(True positive rate)和FPR(False positive rate),TPR=TP/(TP+FN)=Recall,TPR就是召回率。FPR=FP/(FP+TN),FPR即为实际为好人的人中,预测为坏人的人占比。我们以FPR为x轴,TPR为y轴画图,就得到了ROC曲线。
AUC(Area Under Curve)的值为ROC曲线下面的面积,若如上所述模型十分准确,则AUC为1。

但现实生活中尤其是工业界不会有如此完美的模型,一般AUC均在0.5到1之间,AUC越高,模型的区分能力越好,若AUC=0.5,即与(0,0)(1,1)曲线重合,表示模型的区分能力与随机猜测没有差别。若AUC真的小于0.5,请检查一下是不是好坏标签标反了,或者是模型真的很差。一般来说,如果ROC是光滑的,那么基本可以判断没有太大的overfitting(比如图中0.2到0.4可能就有问题,但是样本太少了),这个时候调模型可以只看AUC,面积越大一般认为模型越好。TPR=FPR,即为虚线所表示的,所以TP(FP+TN)=FP(TP+FN),所以TP/FN = FP/TN:换言之,无论样本是真是假,我们将它们判为“真”或“假”的概率都相当,或者说,我们的猜测是完全随机的。
这里写图片描述

再说PRC, precision recall curve。和ROC一样,PR曲线(Precision-Recall curve)和ROC曲线类似,ROC曲线是FPR和TPR的点连成的线,PR曲线是准确率和召回率的点连成的线平滑,线下面积大的比较好,F1当P和R接近就也越大,一般会画连接(0,0)和(1,1)的线,线和PRC重合的地方的F1是这条线最大的F1(光滑的情况下),此时的F1对于PRC就好象AUC对于ROC一样。一个数字比一条线更方便调模型。这里写图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值