我正在使用R v3.3.2和Caret 6.0.71(即最新版本)构建逻辑回归分类器。我使用confusionMatrix函数创建统计数据来评估其性能。
logRegConfMat <- confusionMatrix(logRegPrediction, valData[,"Seen"])
参考值0,预测值0 = 30 参考值1,预测值0 = 14 参考值0,预测值1 = 60 参考值1,预测值1 = 164
准确率:0.7239 灵敏度:0.3333 特异性:0.9213
我的数据中的目标值(Seen)使用1表示真实,0表示假。我假设混淆矩阵中的参考(真相)列和预测(分类器)行遵循相同的约定。因此,我的结果显示:
真负数(TN) 30 真正数(TP) 164 假负数(FN) 14 假正数(FP) 60
问题:为什么敏感度给出0.3333,特异性给出0.9213?我本以为应该是相反的 - 参见下文。
我不愿意相信R confusionMatrix函数有错误,因为没有报告任何错误,这似乎是一个重大错误。
参考值0,预测值0 = 30 参考值1,预测值0 = 14 参考值0,预测值1 = 60 参考值1,预测值1 = 164
准确率:0.7239 灵敏度:0.3333 特异性:0.9213
我的数据中的目标值(Seen)使用1表示真实,0表示假。我假设混淆矩阵中的参考(真相)列和预测(分类器)行遵循相同的约定。因此,我的结果显示:
真负数(TN) 30 真正数(TP) 164 假负数(FN) 14 假正数(FP) 60
问题:为什么敏感度给出0.3333,特异性给出0.9213?我本以为应该是相反的 - 参见下文。
我不愿意相信R confusionMatrix函数有错误,因为没有报告任何错误,这似乎是一个重大错误。
大多数关于计算特异性和敏感性的参考资料定义如下 - 即 www.medcalc.org/calc/diagnostic_test.php
- 敏感性 = TP / (TP+FN) = 164/(164+14) = 0.9213
- 特异性 = TN / (FP+TN) = 30/(60+30) = 0.3333