【发布时间】:2019-12-22 01:55:59
【问题描述】:
我正在尝试计算敏感性和特异性。我使用了 caret 包和 pROC 包。但是,为什么我使用两个不同的包会得到不同的结果?
我已将数据转换为二进制形式(只要有正确的调用,它就被标记为 1 和 0 表示不正确的调用。即其余 39 个类中的任何一个)。
混淆矩阵如下:
table(actual_labels,app_labels)
app_labels
actual_labels 0 1
0 1183 23
1 5 18
方法一:使用caret包
> sensitivity(table(actual_labels,app_labels))
[1] 0.9957912
> specificity(table(actual_labels,app_labels))
[1] 0.4390244
cutoff of =0.5
方法2:使用pROC包
aa <- roc(actual_labels,app_labels)
Setting levels: control = 0, case = 1
Setting direction: controls < cases
> aa$sensitivities
[1] 1.0000000 0.7826087 0.0000000
> aa$specificities
[1] 0.0000000 0.9809287 1.0000000
> aa$thresholds
[1] -Inf 0.5 Inf
为什么我使用两个不同的包会得到不同的结果?
【问题讨论】: