边缘情况下精度和召回率的正确值是多少?


20

精度定义为:

p = true positives / (true positives + false positives)

对不对,作为true positivesfalse positives做法0,精度接近1?

召回相同的问题:

r = true positives / (true positives + false negatives)

我目前正在实施统计测试,需要计算这些值,有时分母为0,我想知道在这种情况下应返回哪个值。

PS:请原谅,不恰当的标签,我想用recallprecisionlimit,但我不能创造新的标签呢。

precision-recall  data-visualization  logarithm  references  r  networks  data-visualization  standard-deviation  probability  binomial  negative-binomial  r  categorical-data  aggregation  plyr  survival  python  regression  r  t-test  bayesian  logistic  data-transformation  confidence-interval  t-test  interpretation  distributions  data-visualization  pca  genetics  r  finance  maximum  probability  standard-deviation  probability  r  information-theory  references  computational-statistics  computing  references  engineering-statistics  t-test  hypothesis-testing  independence  definition  r  censoring  negative-binomial  poisson-distribution  variance  mixed-model  correlation  intraclass-correlation  aggregation  interpretation  effect-size  hypothesis-testing  goodness-of-fit  normality-assumption  small-sample  distributions  regression  normality-assumption  t-test  anova  confidence-interval  z-statistic  finance  hypothesis-testing  mean  model-selection  information-geometry  bayesian  frequentist  terminology  type-i-and-ii-errors  cross-validation  smoothing  splines  data-transformation  normality-assumption  variance-stabilizing  r  spss  stata  python  correlation  logistic  logit  link-function  regression  predictor  pca  factor-analysis  r  bayesian  maximum-likelihood  mcmc  conditional-probability  statistical-significance  chi-squared  proportion  estimation  error  shrinkage  application  steins-phenomenon 

我认为我们不需要限制标签。

大概您正在尝试量化某些诊断程序的性能;您是否有任何原因未使用适当的信号检测理论度量标准,例如d',A'或ROC曲线下的面积?
Mike Lawrence 2010年

3
@Mike,精度和召回率是常见的评估指标,例如,在信息检索中,由于您已经期望有很多误报,因此很难使用ROC或特别是特殊性。
user979 2010年

Answers:


17

给定一个混淆矩阵:

            predicted
            (+)   (-)
            ---------
       (+) | TP | FN |
actual      ---------
       (-) | FP | TN |
            ---------

我们知道:

Precision = TP / (TP + FP)
Recall = TP / (TP + FN)

让我们考虑分母为零的情况:

  • TP + FN = 0:表示输入数据中没有阳性病例
  • TP + FP = 0:表示所有实例均被预测为阴性

9
扩展您的答案:如果TP = 0(在两种情况下都一样),则召回率为1,因为该方法未发现所有真实阳性。如果有任何FP,精度为0,否则为1。

11

答案是肯定的。当真正(TP)为0时,会出现未定义的边沿情况,因为这是P和R的分母。在这种情况下,

  • 当FN = 0时回想= 1,因为发现了100%的TP
  • FP = 0时,精度= 1,因为没有虚假结果

这是@mbq评论的重新表述。


3

我熟悉不同的术语。您所说的精度我将是正预测值(PPV)。您所说的回想起我称之为灵敏度(Sens)。:

http://en.wikipedia.org/wiki/Receiver_operating_characteristic

在灵敏度(回想)的情况下,如果分母为零(如Amro所指出的),则没有正例,因此分类是没有意义的。(这不会阻止TP或FN为零,这将导致极限灵敏度为1或0。这些点分别位于ROC曲线的右上角和左下角-TPR = 1和TPR = 0。 )

PPV的限制是有意义的。可以将测试截止值设置得很高(或很低),以便所有情况都被预测为负面。这是ROC曲线的起点。可以通过考虑刚好在起点之前的ROC曲线的最后一段,来估算截止点到达起点之前的PPV的极限值。(由于ROC曲线非常嘈杂,因此建模可能会更好。)

例如,如果有100个实际正值和100个实际负值,并且ROC曲线的最终分段从TPR = 0.08,FPR = 0.02接近,则极限PPV将为PPR〜0.08 * 100 /(0.08 * 100 + 0.02 * 100 )= 8/10 = 0.8,即80%的可能性为正。

实际上,每个样本都由ROC曲线上的一个片段表示-水平表示实际的负值,垂直表示实际的正值。可以通过原点之前的最后一段来估计极限PPV,但这将得出的极限PPV为1、0或0.5,这取决于最后一个样本是真阳性,假阳性(实际阴性)还是假TP和FP相等 建模方法可能会更好,也许假设数据是双正态的-一个常见的假设,例如:http : //mdm.sagepub.com/content/8/3/197.short


1

那将取决于您所说的“方法0”。如果假阳性和假阴性都以比真阳性更快的速率接近零,则对两个问题的回答都是。但除此之外,不一定。


我真的不知道率。老实说,我所知道的是我的程序因零除而崩溃,我需要以某种方式处理这种情况。
比约恩·波莱克斯(BjörnPollex)2010年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.