给定一个具有三个不同因子的数据帧,我想使用库caret
中的confusionMatrix函数来计算精度。对于我给出的例子,我希望类"positive"的精度(=Pos Pred Value
)为1。然而,我得到的却是"NA"。我是不是搞错了?
> temp
Source: local data frame [12 x 2]
ref pred
(fctr) (fctr)
1 positive positive
2 positive positive
3 positive neutral
4 positive positive
5 positive positive
6 positive positive
7 positive positive
8 positive positive
9 positive positive
10 positive positive
11 positive positive
12 positive positive
> confusionMatrix(temp$pred, temp$ref)$byClass
Sensitivity Specificity Pos Pred Value ...
Class: negative NA 1.0000000 NA ...
Class: neutral NA 0.9166667 NA ...
Class: positive 0.9166667 NA NA ...
PPV取决于患病率(即已知事件发生率,即先验概率)以及敏感性和特异性。由于你无法估计某些类别的敏感性或特异性,你就无法知道PPV。
最大