特异性和敏感性措施

时间:2018-10-09 16:27:07

标签: r false-positive

我一直在尝试计算有关特异性和敏感性的一些指标。
SDMTools R软件包非常有用,可以得到总体估计。

library(SDMTools)

a <- c(1,1,1,1,0,0,0,1,0,1,1,1) #observed
b <- c(1,1,0,0,1,0,0,1,0,0,1,1) #predicted

accuracy(a, b)
#       threshold       AUC omission.rate sensitivity specificity prop.correct     Kappa
#1            0.5    0.6875         0.375       0.625        0.75    0.6666667 0.3333333

不幸的是,我无法获得TRUE POSITIVE,TRUE NEGATIVE,FALSE POSITIVE和FALSE NEGATIVE的原始数字。我想将它们放在四个不同的列中。有谁知道一个软件包或函数可以做到这一点?我想得到的结果如下。

#TP  TN  FP  FN
#5    3   1   3

1 个答案:

答案 0 :(得分:2)

您可以在下面使用类似的自定义函数来计算对/错分类计数:

accuracy_table <- function(obs, pred){
  data.frame(TP = sum(obs == 1 & pred == 1),
             TN = sum(obs == 0 & pred == 0),
             FP = sum(obs == 0 & pred == 1),
             FN = sum(obs == 1 & pred == 0))
}

accuracy_table(a, b)

此功能依赖于观察和预测被编码,其中0表示否定情况,而1表示肯定情况,因此在其他情况下将无法正常工作。