华盛顿大学 machine learning :classification  笔记

第6周 precision & recall

1.accuracy 局限性

  我们习惯用 accuracy 评价一个分类器模型的准确程度,accuracy即正确预测的样本数/预测样本总数, 一般情况下这种评价都适用。

  但假设一个这样的二分类器,95%的数据都是 +1 ,分类器直接把所有数据预测为 +1,那这个分类器的accuracy 95%, 很高,但显然这不是个好的分类器。对于这样的数  据,评价一个分类器模型准确程度还需别的评价标准。

2.True Positive & False Positive & False Negative & True Negative

  对于一个二分类器,预测结果可能有以下几种情况:

  True Positive: 实际为 +1,预测也为 +1。

  False Positive: 实际为 -1,预测为 +1。

  False Negative: 实际为 +1,预测为 -1。

  True Negative: 实际为 -1,预测也为 -1。

  

3. Accuracy & precision & recall

  Accuracy 表示为:

    

  考虑另外两个评价参数 precision 和 recall。

        

     

4.Optimistic model & pessimistic model

  

  

Optimistic model:

  一个预测模型过于乐观, 即几乎对于所有样本都预测为 +1, 这种情况往往发生在数据集多数为 +1 ,且模型过拟合的情况下。

  这种模型的预测结果中, False Negative很少(实际+1 被预测为 -1),False Positive较多(实际-1 被预测为 +1)。即precision 较低, recall较高,Precision 和recall 中主要应注意 precision。

  对于这种模型,需要注意减少false positive 的数量, 即:

  计算Cost时false positive 与 false negative权重不同,false positive 的权重应更高;

  提高预测为 +1 的confidence level,即提高判断为+1的阈值(+1 if probability >= threshold else -1),模型需要在更有把握的时候才能预测为 +1。

pessimistic model:

  一个预测模型过于悲观, 即只有在非常肯定的情况下才会预测为 +1,

  这种模型的预测结果中, False Negative很多(实际+1 被预测为 -1),False Positive较少(实际-1 被预测为 +1)。即 precision较高, recall较低,应主要注意 recall。

  对于这种模型,需要注意减少false negative 的数量, 即

  计算Cost时提高false negative 的权重。

  降低预测为 +1 的confidence level。

5. 用Precision & recall评价模型好坏

  显然,最理想的模型 precision、recall 都为1,然而实际情况中面临着 precision & recall 之间的权衡问题,precision 和recall 往往是此消彼长,例如有两个分类器模型A 和B,如下图所示,考虑到precision 和 recall, 哪个模型更好?

  

一个评价方法是:比较曲线下的面积大小(area-under-the-curve, AUC)。以这种方法进行比较,显然B分类器更好。

Classification week6: precision & recall 笔记的更多相关文章

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

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

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

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

  3. 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/ ...

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

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

  5. Precision,Recall,F1的计算

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

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

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

  7. Handling skewed data---trading off precision& recall

    preision与recall之间的权衡 依然是cancer prediction的例子,预测为cancer时,y=1;一般来说做为logistic regression我们是当hθ(x)>=0 ...

  8. 通过Precision/Recall判断分类结果偏差极大时算法的性能

    当我们对某些问题进行分类时,真实结果的分布会有明显偏差. 例如对是否患癌症进行分类,testing set 中可能只有0.5%的人患了癌症. 此时如果直接数误分类数的话,那么一个每次都预测人没有癌症的 ...

  9. 机器学习基础梳理—(accuracy,precision,recall浅谈)

    一.TP TN FP FN TP:标签为正例,预测为正例(P),即预测正确(T) TN:标签为负例,预测为负例(N),即预测正确(T) FP:标签为负例,预测为正例(P),即预测错误(F) FN:标签 ...

随机推荐

  1. web UIproject师必读的一篇文档,写的很好

    今天在花瓣网上看到的一片文章.写的是web UIproject师的工作应该是如何的,内容非常精彩,分享给小伙伴.希望web UIproject师看了之后有所启示. 我不是一个简单的web UI htt ...

  2. 快速打开IIS的方法

    方法一: 在运行(win+r)输入inetmgr 方法二: 控制面板\所有控制面板项\管理工具\IIS 建议使用第一种方法

  3. 利用saltstack的event实现自己的功能

    saltstack的master上minion连接较多,下面这个程序可以分析哪些minion任务执行成功,哪些执行失败以及哪些没有返回. 脚本说明: 一.最先打印出本次任务的job id.comman ...

  4. linux下GPRS模块ppp拨号上网

    ---------------------------------------------------------------------------------------------------- ...

  5. VR开发者必看:4大最为值得关注的内容平台【转】

            时间 2016-01-19 14:12:57 原文  http://www.sfw.cn/xinwen/478369.html 主题 虚拟现实 Oculus 对很多有意涉及VR行业的内 ...

  6. python 推导式(Comprehensions)

    一.介绍 列表推导(list comprehensions) 这是一种将for循环.if表达式以及赋值语句放到单一语句中的一种方法.换句话说,你能够通过一个表达式对一个列表做映射或过滤操作. 一个列表 ...

  7. 解决Spark集群无法停止

    执行stop-all.sh时,出现报错:no org.apache.spark.deploy.master.Master to stop,no org.apache.spark.deploy.work ...

  8. rails delegate机制

    Delegate是一种应用composite来代替extend的机制,可以有效地降低代码的耦合性. Rails 2.2增加了delegate方法,可以十分方便地实现delegate机制. 01.def ...

  9. Problem-1001:Sum Problem

    Sum Problem Sample code : #include <stdio.h> int main() { int i,n; int sum; while(scanf(" ...

  10. MYSQLMTOP!开源MYSQL监控系统

    原文地址:http://www.lepus.cc/page/opensource