【发布时间】:2019-03-04 12:44:46
【问题描述】:
我运行了一个glm() 模型;但现在我想用 PPV、NPV、敏感性和特异性来衡量模型的准确性。但是,我不断得到令人困惑的结果。
我的结果是一个如下所示的因子变量:
table(mydata$outcome)
0 1
6824 359
预测变量是具有 1 个分类(性别)的连续变量的组合。
我的代码是:
# To run the logistic model
mod <- glm(outcome~predictor1+predictor2+predictor3,data=mydata,family=binomial("logit"))
summary(mod)
# To run predict() to get the predicted values of the outcome
predicted = predict(object = mod, newdata=mydata, type = "response")
结果如下所示:
head(predicted)
1 2 3 4 5 6
0.02568802 0.02979873 0.01920584 0.01077031 0.01279325 0.09725329
这非常令人惊讶,因为我预计会观察到预测的“1”(案例)与“0”(对照),我可以进一步使用它们来获得模型的准确度度量,或者使用 confusionMatrix(predicted, mydata$outcome) 或使用 ModelMetrics图书馆。
所以我的问题是如何获得 4x4 表(预测与观察)结果,我可以用它来衡量我的 glm() 模型在预测结果时的准确性?如果有任何建议,我将不胜感激,或者如果有更好的方法来获取 PPV、NPV、敏感性和特异性,请告诉我。谢谢你。
【问题讨论】: