我使用以下代码创建了一个逻辑回归:
full.model.f = lm(Ft_45 ~ ., LOG_D)
base.model.f = lm(Ft_45 ~ IP_util_E2pl_m02_flg)
step(base.model.f, scope=list(upper=full.model.f, lower=~1),
direction="forward", trace=FALSE)
然后我使用输出来创建最终模型:
final.model.f = lm(Ft_45 ~ IP_util_E2pl_m02_flg + IP_util_E2_m02_flg +
AE_NumVisit1_flg + OP_NumVisit1_m01_flg + IP_TotLoS_m02 +
Ft1_45 + IP_util_E1_m05_flg + IP_TotPrNonElecLoS_m02 +
IP_util_E2pl_m03_flg + LTC_coding + OP_NumVisit0105_m03_flg +
OP_NumVisit11pl_m03_flg + AE_ArrAmb_m02_flg)
然后我使用 predict 函数预测了一组不同数据的结果:
log.pred.f.v <- predict(final.model.f, newdata=LOG_V)
我已经能够使用建立一个令人愉悦的 ROC 曲线并创建一个表格来建立我所期望的响应的敏感性和特异性。
但是,我要做的是为每一行数据确定 Ft_45 为 1 的概率是多少。如果我查看 log.pred.fv 的输出,例如,我会得到:
1 -0.171739593
2 -0.049905948
3 0.141146419
4 0.11615669
5 0.07342591
6 0.093054334
7 0.957164383
8 0.098415639
.
.
.
104 0.196368229
105 1.045208447
106 1.05499112
由于我对自己正在做的事情只有一个初步的了解,所以我很难理解如何解释负值和高于 1 的值,因为我预计概率在 0 和 1 之间。
所以我的问题是我只是错过了一个需要转换输出的步骤,还是我完全错了。提前感谢您提供的任何帮助。