Логистическая регрессия в R |
Здравствуйте, гость ( Вход | Регистрация )
Логистическая регрессия в R |
28.06.2017 - 01:29
Сообщение
#1
|
|
Группа: Пользователи Сообщений: 76 Регистрация: 27.04.2014 Пользователь №: 26375 |
Подскажите, пожалуйста, кто чем может)). Я делаю логистическую регрессию. Все предикторы биноминальные (0,1). Y-зависимая переменная(бинарная 0 - нет события(это хорошо), 1-есть событие(это плохо)). Дело в том, что нули к нулям, он мало мальски правильно соотносит, но 50% единиц(плохих) у него попадают к нулям(хорошим).Т.е. неверное определение. Как понять, почему так происходит и что сделать, чтобы улучшить классификацию, хотя бы до 85% точности?
Доп. инфо, я гуглила, и нашла метод Feature Selection и его реализацию в R Boruta. Выделила 6 предикторов, думала счастье рядом, сейчас построила модель, но не тут-то было, классификация такая же некачественная:(( Может что-то не то сделала?(( Что делать? (с)(Чернышевский Н.Г.)
Прикрепленные файлы
|
|
12.07.2017 - 18:34
Сообщение
#2
|
|
Группа: Пользователи Сообщений: 76 Регистрация: 27.04.2014 Пользователь №: 26375 |
И такой вопросик
data(ROCR.simple) threshold1 <- function(predict, response) { perf <- ROCR::performance(ROCR::prediction(predict, response), "sens", "spec") df <- data.frame(cut = perf@alpha.values[[1]], sens = perf@x.values[[1]], spec = perf@y.values[[1]]) df[which.max(df$sens + df$spec), "cut"] } threshold1(ROCR.simple$predictions, ROCR.simple$labels) [1] 0.5014893 я правильно поняла, выше 0.5014893 мы принимаем решение, что наступит событие? |
|
12.07.2017 - 18:43
Сообщение
#3
|
|
Группа: Пользователи Сообщений: 1091 Регистрация: 26.08.2010 Пользователь №: 22699 |
И такой вопросик data(ROCR.simple) threshold1 <- function(predict, response) { perf <- ROCR::performance(ROCR::prediction(predict, response), "sens", "spec") df <- data.frame(cut = perf@alpha.values[[1]], sens = perf@x.values[[1]], spec = perf@y.values[[1]]) df[which.max(df$sens + df$spec), "cut"] } threshold1(ROCR.simple$predictions, ROCR.simple$labels) [1] 0.5014893 я правильно поняла, выше 0.5014893 мы принимаем решение, что наступит событие? Смотря что мы считаем событием. В любом разе выше границы один класс, ниже второй. Что по коду, то ч использую library(pROC) |
|