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

https://www.zhihu.com/question/30643044

T/F表示 true/false  表示预测的是不是对的
P/N表示 positive/negative  表示实际数据是正样本还是负样本
P/N表示 positive/negative  表示预测数据是正样本还是负样本
 
TP: 预测为1, 实际为1,预测正确
FP: 预测为1, 实际为0,预测错误
TN: 预测为0,实际为0,预测正确
FN: 预测为0, 实际为1,预测错误

True Positive (真正, TP)被模型预测为正样本,实际为正样本;

False Positive (假正, FP)被模型预测为正样本, 实际为负样本;

True Negative(真负 , TN)被模型预测为负样本,实际为负样本 ;

False Negative(假负 , FN)被模型预测为负样本,实际为正样本;

举例:

实际样本标签  actual_issame             = [1 1 1 1 1 1 0 0 0 0 0]

预测样本结果  predict_issame            = [1 1 0 1 0 1 1 0 0 0 0]

实际样本标签  actual_issame_not       = [0 0 0 0 0 1 1 1 1 1 1]

预测样本结果  predict_issame_not      = [0 0 1 0 1 0 0 1 1 1 1]

正样本个数为6

负样本个数为5

TP + FN = 正样本个数为6

FP + TN = 负样本个数为5

TP = 4  TN = 4  FP = 1  FN = 2

贴一段计算代码

predict_issame = np.less(dist, threshold)
tp = np.sum(np.logical_and(predict_issame, actual_issame))
fp = np.sum(np.logical_and(predict_issame, np.logical_not(actual_issame)))
tn = np.sum(np.logical_and(np.logical_not(predict_issame), np.logical_not(actual_issame)))
fn = np.sum(np.logical_and(np.logical_not(predict_issame), actual_issame))

tpr = 0 if (tp+fn==0) else float(tp) / float(tp+fn)
fpr = 0 if (fp+tn==0) else float(fp) / float(fp+tn)
acc = float(tp+tn)/dist.size
return tpr, fpr, acc

以上面的为例

TP = 4  TN = 4  FP = 1  FN = 2

tpr = TP /(TP + FN)= 4/(4+2) = 66.7%

fpr = FP /(FP + TN)= 1 / (1+4) = 20%

acc = (tp+tn) / (总的样本个数) = (4+4) / 11 = 72.7%

True Positive Rate(真正率 , TPR)或灵敏度(sensitivity) 
   TPR = TP /(TP + FN)

True Negative Rate(真负率 , TNR)或特指度(specificity) 
   TNR = TN /(TN + FP)

False Positive Rate (假正率, FPR) 
   FPR = FP /(FP + TN)

False Negative Rate(假负率 , FNR) 
   FNR = FN /(TP + FN)

还有另外两个评价指标,针对正样本的评价指标

准确率precision: TP/ (TP+FP) 预测为正样本中有多少是真正的正样本
召回率recall: TP/ (TP +FN) 正样本有多少被成功预测为正样本
错误接受率: FAR: 同FPR 

ROC曲线: TPR与FPR博弈的过程曲线,在不同阈值判决下

分类器希望的是TPR越大,FPR越小,

降低阈值可以使TPR变大,FPR也会越大

提高阈值可以降低FPR,但是TPR会降低

实际中需要根据实际场景进行合理选择阈值,

比如在人脸识别支付的时候,对FPR比较敏感,FPR越小,错误接收的用户可能性越小,用户的钱财越安全, 这个时候,可以提高阈值,降低FPR,TPR也会下降(用户体验会下降)。

在如精准营销领域的商品推荐模型,模型目的是尽量将商品推荐给感兴趣的用户,若用户对推荐的商品不感兴趣,也不会有很大损失,因此此时TPR相对FPR更重要,这个时候可以降低阈值。

 

TP Rate ,FP Rate, Precision, Recall, F-Measure, ROC Area,的更多相关文章

  1. 从TP、FP、TN、FN到ROC曲线、miss rate、行人检测评估

    从TP.FP.TN.FN到ROC曲线.miss rate.行人检测评估 想要在行人检测的evaluation阶段要计算miss rate,就要从True Positive Rate讲起:miss ra ...

  2. Precision,Recall,F1的计算

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

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

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

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

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

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

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

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

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

  7. 机器学习--如何理解Accuracy, Precision, Recall, F1 score

    当我们在谈论一个模型好坏的时候,我们常常会听到准确率(Accuracy)这个词,我们也会听到"如何才能使模型的Accurcy更高".那么是不是准确率最高的模型就一定是最好的模型? 这篇博文会向大家解释 ...

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

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

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

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

随机推荐

  1. DDR3控制

    很简单的,app_en和app_rdy一握手,代表MIG接受了一个写数据请求或者读数据请求,只要保证app_en和app_rdy握手,根本就不关心写数据rdy,这是MIG的一个bug,你看它源码就知道 ...

  2. 【小白的CFD之旅】18 控制方程基础

    忙碌了一个学期终于放暑假了,小白心情很愉快.然而想起CFD教材上的那些点缀着各种让人眼花缭乱符号的数学公式,整个人就不好了.不过这些事情小白也不好意思去麻烦师兄师姐们,还得靠自己去摸索.正好趁着暑假把 ...

  3. [Windows Azure] Walkthrough to Configure System Center Management Pack for Windows Azure Fabric Preview for SCOM 2012 SP1 (with a MetricsHub Bonus)

    The wait is finally over. This is a huge update to the Azure Management Pack over the one that was r ...

  4. [Windows Azure] Building worker role A (email scheduler) for the Windows Azure Email Service application - 4 of 5.

    Building worker role A (email scheduler) for the Windows Azure Email Service application - 4 of 5. T ...

  5. (原创)C++11改进我们的程序之右值引用

    本次主要讲c++11中的右值引用,后面还会讲到右值引用如何结合std::move优化我们的程序. c++11增加了一个新的类型,称作右值引用(R-value reference),标记为T & ...

  6. linux命令(38):split 分割文件

    在Linux下用split进行文件分割: 模式一:指定分割后文件行数 对与txt文本文件,可以通过指定分割后文件的行数来进行文件分割. 命令: split -l 300 large_file.txt ...

  7. Asp.Net时间方法大全

    DateTime dt = DateTime.Now; //当前时间 DateTime startWeek = dt.AddDays(- Convert.ToInt32(dt.DayOfWeek.To ...

  8. ubuntu创建用户命令

    可以用adduser和useradd来添加用户,用userdel来删除用户. 最简单的命令:sudo adduser test会自动同名组,创建/home/test/,从etc/skel/复制文件,并 ...

  9. 多媒体文件格式解析之MP3

    音频文件格式MP3 1. MP3是什么? MP3是MPEG-1 Audio Layer 3的缩写,是当今较流行的一种数字音频编码和有损压缩格式,它设计用来大幅度地降低音频数据量,而对于大多数用户的听觉 ...

  10. Eclipse - Mac Os Default JRE missing

    转:http://stackoverflow.com/questions/1736993/eclipse-mac-os-default-jre-missing 1) Follow Joshua's a ...