Saya telah membuat Regresi Logistik menggunakan kode berikut:
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)
Saya kemudian menggunakan output untuk membuat model akhir:
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)
Lalu saya telah memprediksi hasil untuk set data yang berbeda menggunakan fungsi prediksi:
log.pred.f.v <- predict(final.model.f, newdata=LOG_V)
Saya telah bisa menggunakan menetapkan kurva ROC yang menyenangkan dan membuat tabel untuk menetapkan sensitivitas dan spesifisitas yang memberi saya tanggapan yang saya harapkan.
Namun Apa yang saya coba lakukan adalah menetapkan untuk setiap baris data berapa probabilitas dari Ft_45 menjadi 1. Jika saya melihat output dari log.pred.fv saya dapatkan, misalnya ,:
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
Karena saya hanya memiliki pemahaman tentatif tentang apa yang saya lakukan, saya berjuang untuk memahami bagaimana menafsirkan nilai negatif dan lebih tinggi yang saya nilai seperti yang saya harapkan probabilitas antara 0 dan 1.
Jadi pertanyaan saya adalah apakah saya hanya melewatkan langkah di mana saya perlu mengubah output atau apakah saya sudah salah total. Terima kasih sebelumnya atas bantuan yang dapat Anda tawarkan.
sumber
probs <- exp(predict(logit, type = "response" , newdata=data)
atau setidaknya `probs <- 1 / (1 + exp (-pred))Melihat dokumentasi
predict.glm
, sepertinya semudah menggunakan parameter tambahan dalampredict
panggilan:Lihat dokumentasi:
sumber