Tôi đã tạo Hồi quy logistic bằng mã sau:
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)
Sau đó tôi đã sử dụng đầu ra để tạo ra một mô hình cuối cùng:
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)
Sau đó, tôi đã dự đoán kết quả cho một tập hợp dữ liệu khác bằng cách sử dụng chức năng dự đoán:
log.pred.f.v <- predict(final.model.f, newdata=LOG_V)
Tôi đã có thể sử dụng thiết lập đường cong ROC vừa ý và tạo một bảng để thiết lập độ nhạy và độ đặc hiệu mang lại cho tôi các phản hồi mà tôi mong đợi.
Tuy nhiên, những gì tôi đang cố gắng làm là thiết lập cho mỗi hàng dữ liệu xác suất của Ft_45 là 1. Nếu tôi nhìn vào đầu ra của log.pred.fv, tôi nhận được, ví dụ:
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
Vì tôi chỉ nắm bắt được dự kiến về những gì tôi đang làm, tôi đang đấu tranh để hiểu làm thế nào để giải thích giá trị âm và cao hơn 1 như tôi mong đợi một xác suất nằm trong khoảng từ 0 đến 1.
Vì vậy, câu hỏi của tôi là tôi chỉ thiếu một bước mà tôi cần phải chuyển đổi đầu ra hoặc tôi đã hoàn toàn sai. Cảm ơn bạn trước bất kỳ sự giúp đỡ nào bạn có thể cung cấp.