Handling skewed data---trading off precision and recall

preision与recall之间的权衡

依然是cancer prediction的例子,预测为cancer时,y=1;一般来说做为logistic regression我们是当hθ(x)>=0.5时,y=1;

当我们想要在预测cancer更确信时(因给病人说他们有cancer会给他们带来很重大的影响,让他们去治疗,所以想要更确信时再告诉病人cancer的预测): 我们可以将阀值设为0.7,这时我们将有一个高的precision(因为标注出有cancer的都是很确信的),和一个低值的recall;如果将threshold设为0.9--->高的precision,和一个低值的recall

当我们希望避免漏掉患有cancer的病人时(避免假阴性,即我们不希望一个病人有cancer,但是我们却没有告诉他,耽误了他的治疗):将threshold设为0.3,这时我们得到一个低的precision(标出有cancer的有很多都是实际上被误标的)和一个高的recall(因为绝大多数的cancer都被标注出来了).

因此对于大多数的回归模型,我们需要权衡precision与recall。

precision&recall曲线(随着threshold的改变而改变)如上图右边所示,precision&recall曲线有很多种可能性,取决于具体的算法。

那么我们可以自动选取合适的threshold吗?

如何选择合适的threshold

以上三个算法的threshold值不同,即precision与recall值不同,那么我们应该选择上面三个模型中的哪个模型呢?----我们需要一个评估试题值(evaluation metric)来进行衡量。

precison与recall不能做为evaluation metric,因为它们是不同的两个数字(此消彼长)。

如果我们使用平均值来做为这个evaluation metric: 可以看到算法3的平均值是最大的,但是算法3不是一个好的算法,因为我们可以通过将所有的y预测为1(即将threshold降低)来达到高的recall,低的precision,这显然不是一个好的算法,但是它却有很好的average,故我们不能使用average来做为evaluation metric。

F score(或者F1 score): 在机器学习中常用的来衡量precision与recall的evaluation metric(用来选择threshold),当precison与recall中有一个很小时,通过这个公式得到的F值也会很小,这样就防止了我们上面提到的用average来衡量的错误。即只要F值是大的,则precision与recall都较大。

如果precision或者recall有一个为0,F值就为0;如果是很完美的模型,即precision与recall都为1的话,则F值也为1,故现实中F值的范围在0-1之间。

总结

  1. precision与recall之间的权衡(通过变动threshold来变动它们的值)
  2. 不同的threshold对应不同的precison与recall,如何选择合适的threshold来得到好的模型(通过F值在cross validation集上进行模型选择)
  3. 如果想自动选择threshold,则试试一系列的不同的threshold,在cross validation上进行选择
时间: 2024-08-01 06:21:27

Handling skewed data---trading off precision and recall的相关文章

斯坦福大学公开课机器学习:machine learning system design | trading off precision and recall(F score公式的提出:学习算法中如何平衡(取舍)查准率和召回率的数值)

一般来说,召回率和查准率的关系如下:1.如果需要很高的置信度的话,查准率会很高,相应的召回率很低:2.如果需要避免假阴性的话,召回率会很高,查准率会很低.下图右边显示的是召回率和查准率在一个学习算法中的关系.值得注意的是,没有一个学习算法是能同时保证高查准率和召回率的,要高查准率还是高召回率,取决于自己的需求.此外,查准率和召回率之间的关系曲线可以是多样性,不一定是图示的形状. 如何取舍查准率和召回率数值: 一开始提出来的算法有取查准率和召回率的平均值,如下面的公式average=(P+R)/2

ROC,AUC,Precision,Recall,F1的介绍与计算(转)

1. 基本概念 1.1 ROC与AUC ROC曲线和AUC常被用来评价一个二值分类器(binary classifier)的优劣,ROC曲线称为受试者工作特征曲线 (receiver operating characteristic curve,简称ROC曲线),又称为感受性曲线(sensitivity curve),AUC(Area Under Curve)是ROC曲线下的面积.在计算ROC曲线之前,首先要了解一些基本概念.在二元分类模型的预测结果有四种,以判断人是否有病为例: 真阳性(TP)

机器学习中的 precision、recall、accuracy、F1 Score

1. 四个概念定义:TP.FP.TN.FN 先看四个概念定义: - TP,True Positive - FP,False Positive - TN,True Negative - FN,False Negative 如何理解记忆这四个概念定义呢? 举个简单的二元分类问题 例子: 假设,我们要对某一封邮件做出一个判定,判定这封邮件是垃圾邮件.还是这封邮件不是垃圾邮件? 如果判定是垃圾邮件,那就是做出(Positive)的判定: 如果判定不是垃圾邮件,那就做出(Negative)的判定. Tru

NLP任务中的基本指标(precision and recall )

>>以下内容参考wikipedia. precision  精确度 recall     召回率 样本数据可看成如下两组: false negative  伪负例 true negative   真负例 被算法挑选出的数据可看成如下两组: true positive   真正例 false positive  伪正例 即: 注:实际任务中经常使用这两个基本指标的加权组合(即,F-measure,也称F-score),至于权值根据不同任务酌情使用.经常使用的而是两者的调和平均数,即:

ROC曲线、AUC、Precision、Recall、F-measure理解及Python实现

本文首先从整体上介绍ROC曲线.AUC.Precision.Recall以及F-measure,然后介绍上述这些评价指标的有趣特性,最后给出ROC曲线的一个Python实现示例. 一.ROC曲线.AUC.Precision.Recall以及F-measure 二分类问题的预测结果可能正确,也可能不正确.结果正确存在两种可能:原本对的预测为对,原本错的预测为错:结果错误也存在两种可能:原本对的预测为错,原本错的预测为对,如Fig 1左侧所示.其中Positives代表预测是对的,Negatives

一道关于 precision、recall 和 threshold关系的机器学习题

Suppose you have trained a logistic regression classifier which is outputing hθ(x). Currently, you predict 1 if hθ(x)≥threshold, and predict 0 if hθ(x)<threshold, where currently the threshold is set to 0.5. Suppose you increase the threshold to 0.7.

Precision、Recall、Hamming loss、AP、MAP概念区分

Precision,准确率/查准率.Recall,召回率/查全率.这两个指标分别以两个角度衡量分类系统的准确率. 例如,有一个池塘,里面共有1000条鱼,含100条鲫鱼.机器学习分类系统将这1000条鱼全部分类为"不是鲫鱼",那么准确率也有90%(显然这样的分类系统是失败的),然而查全率为0%,因为没有鲫鱼样本被分对.这个例子显示出一个成功的分类系统必须同时考虑Precision和Recall,尤其是面对一个不平衡分类问题. 下图为混淆矩阵,摘自wiki百科: 根据上图,Precisi

{Reship}Precision, Accuracy &amp; Recall

============================================================== This aritcle came from here ==================================================================== http://blog.sina.com.cn/s/blog_4b59de070100ehl7.html 最近一直在做相关推荐方面的研究与应用工作,召回率与准确率这两个概念偶尔会遇

评估指标:ROC,AUC,Precision、Recall、F1-score

一.ROC,AUC ROC(Receiver Operating Characteristic)曲线和AUC常被用来评价一个二值分类器(binary classifier)的优劣 . ROC曲线一般的横轴是FPR,纵轴是FPR.AUC为曲线下面的面积,作为评估指标,AUC值越大,说明模型越好.如下图: 二.Precision.Recall.F1-score Terminology and derivationsfrom a confusion matrix true positive (TP)