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上进行选择

Handling skewed data---trading off precision& recall的更多相关文章

  1. Handling skewed data---Error metrics for skewed(偏斜的) classes(precision&recall)

    skewed classes skewed classes: 一种类里面的数量远远高于(或低于)另一个类,即两个极端的情况. 预测cancer的分类模型,如果在test set上只有1%的分类误差的话 ...

  2. 机器学习:评价分类结果(Precision - Recall 的平衡、P - R 曲线)

    一.Precision - Recall 的平衡 1)基础理论 调整阈值的大小,可以调节精准率和召回率的比重: 阈值:threshold,分类边界值,score > threshold 时分类为 ...

  3. 评价指标整理:Precision, Recall, F-score, TPR, FPR, TNR, FNR, AUC, Accuracy

    针对二分类的结果,对模型进行评估,通常有以下几种方法: Precision.Recall.F-score(F1-measure)TPR.FPR.TNR.FNR.AUCAccuracy   真实结果 1 ...

  4. Keras 处理 不平衡的数据的分类问题 imbalance data 或者 highly skewed data

    处理不平衡的数据集的时候,可以使用对数据加权来提高数量较小类的被选中的概率,具体方式如下 fit(self, x, y, batch_size=32, nb_epoch=10, verbose=1, ...

  5. 查准与召回(Precision & Recall)

    Precision & Recall 先看下面这张图来理解了,后面再具体分析.下面用P代表Precision,R代表Recall 通俗的讲,Precision 就是检索出来的条目中(比如网页) ...

  6. TP Rate ,FP Rate, Precision, Recall, F-Measure, ROC Area,

    TP Rate ,FP Rate, Precision, Recall, F-Measure, ROC Area, https://www.zhihu.com/question/30643044 T/ ...

  7. Classification week6: precision & recall 笔记

    华盛顿大学 machine learning :classification  笔记 第6周 precision & recall 1.accuracy 局限性 我们习惯用 accuracy ...

  8. Precision,Recall,F1的计算

    Precision又叫查准率,Recall又叫查全率.这两个指标共同衡量才能评价模型输出结果. TP: 预测为1(Positive),实际也为1(Truth-预测对了) TN: 预测为0(Negati ...

  9. 目标检测的评价标准mAP, Precision, Recall, Accuracy

    目录 metrics 评价方法 TP , FP , TN , FN 概念 计算流程 Accuracy , Precision ,Recall Average Precision PR曲线 AP计算 A ...

随机推荐

  1. [转帖]armel、armhf和arm64

    armel.armhf和arm64 转帖 1 这些名词是什么的缩写 1.1 armel 是arm eabi little endian的缩写.eabi是软浮点二进制接口,这里的e是embeded,是对 ...

  2. C程序设计语言练习 第二章

    2.3 常量 strlen函数:返回s的长度 int strlenn(char s[]) { int i=0; while(s[i] != '\0') ++i; return i; } 2.7 类型转 ...

  3. JQuery 总结篇

    一.基础知识 1.jq的使用 在script块中: 方式1:$(function(){                                          $("[使用选择器] ...

  4. JOIN的区别

    CREATE TABLE `j1` (  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,  `c1` varchar(20) NOT NULL DEFAU ...

  5. 当base-package="controller.*"时,可见packageSearchPath为"classpath*:controller/*/**/*.class": 当base-package="controller.**"时,可见packageSearchPath为"classpath*:controller/**/**/*.class":

    今天在配置Spring的component-scan时,发现了一个有趣的问题.就是在指定base-package时,如果使用了星号通配符*,有时会出现类扫描不到的情况.下面研究一下这个问题. 先介绍一 ...

  6. go 学习笔记(1)go command

    常用命令 go command [arguments] 1) go build  跨平台编译: env GOOS=linux GOARCH=amd64 go build 2) go install : ...

  7. shell 学习笔记9-while/until循环语句

    一.while循环语句 1.循环语句 循环愈久就是重复执行一条指令或一组执行,知道条件不在满足时停止,shell循环语句包括,while.until.for.select语句 2.while循环 主要 ...

  8. Java Web 深入分析(12) JVM(2) 垃圾收集与内存分配

    前言 java的内存分配和垃圾回收往往是影响系统性能和并发能力的主要因素,虚拟机提供许多的参数就是为了根据不同环境和请教下进行调优,没有最好的调优也没有固定的调优.需要我们深入的去了解jvm的各个垃圾 ...

  9. 进入恢复模式(Recovery HD)

    进入恢复模式(Recovery HD) 1,选中要启动的虚拟机,随后点击VM菜单的启动按钮后面向下箭头,随后点击菜单项”打开电源时进入固件“. 2,在虚拟机里面,用上下键移动到”Enter setup ...

  10. 采集15个代理IP网站,打造免费代理IP池

    采集的站点: 免费代理IP http://ip.yqie.com/ipproxy.htm66免费代理网 http://www.66ip.cn/89免费代理 http://www.89ip.cn/无忧代 ...