RO C -AU C участок в форме локтя - PullRequest
0 голосов
/ 31 марта 2020

Я хочу создать кривую RO C для моей регрессионной модели логистики c, но мой текущий код не дает мне традиционного или желаемого результата. Ниже приведен код: -

over3 <- SMOTE(pol ~., data = train, perc.under = 150)
over3

set.seed(645)
logit_model4 <- glm(pol ~., data = over3, family = "binomial")
logit_model4
summary(logit_model4)

fitted.results4 <- predict(logit_model4, test, type = "response")
fitted.results4

fitted.results4 <- ifelse(fitted.results4 > 0.5, 1, 0)
fitted.results4

table(test$pol, fitted.results4)

library(pROC)

pim <- roc(response = test$pol, predictor = fitted.results3, partial.auc = c(100,90),
    partial.auc.correct = T, percent = T)
plot(pim)

с полученным значением следующим образом: - my plot

Однако я хочу, чтобы вывод графика был в традиционном то есть: - desired plot

Надеюсь, кто-нибудь может мне помочь

1 Ответ

0 голосов
/ 31 марта 2020

Не дихотомизируйте ваши результаты!

fitted.results4 <- ifelse(fitted.results4 > 0.5, 1, 0)

Кривая RO C строится путем оценки каждого возможного порога. Дихотомизируя свой результат, вы предотвращаете это.

Вместо этого вы должны напрямую использовать количественные предсказанные вероятности:

fitted.results4 <- predict(logit_model4, test, type = "response")
library(pROC)
pim <- roc(response = test$pol, predictor = fitted.results4, partial.auc = c(100,90), partial.auc.correct = T, percent = T)
plot(pim)
...