Логистическая регрессия - определение контрольного уровня в R
Я схожу с ума, пытаясь понять это. Как я могу в R, определить опорный уровень для использования в двоичной логистической регрессии? Как насчет полиномиальной логистической регрессии? Прямо сейчас мой код:
logistic.train.model3 <- glm(class~ x+y+z,
family=binomial(link=logit), data=auth, na.action = na.exclude)
моя переменная ответа "ДА" и "НЕТ". Я хочу предсказать вероятность того, что кто-то ответит "ДА".
Я не хочу перекодировать переменную в 0 / 1. Есть ли способ, которым я могу сказать модели прогнозировать "ДА"?
Спасибо за помощь.
2 ответа
Предполагая, что вы сохранили класс как фактор, используйте relevel()
функция:
auth$class <- relevel(auth$class, ref = "YES")
Обратите внимание, что при использовании auth$class <- relevel(auth$class, ref = "YES")
, вы на самом деле предсказываете "НЕТ".
Чтобы предсказать "ДА", опорный уровень должен быть "НЕТ". Поэтому вы должны использовать auth$class <- relevel(auth$class, ref = "NO")
,
Это распространенная ошибка, которую делают люди, так как в большинстве случаев их переменная является вектором 0
а также 1
и люди хотят предсказать 1
,
Но когда такой вектор рассматривается как фактор-переменная, опорный уровень 0
(см. ниже), чтобы люди могли эффективно прогнозировать 1
, Аналогично, ваш контрольный уровень должен быть "НЕТ", чтобы вы могли предсказать "ДА".
set.seed(1234)
x1 <- sample(c(0, 1), 50, replace = TRUE)
x2 <- factor(x1)
str(x2)
#Factor w/ 2 levels "0","1": 1 2 2 2 2 2 1 1 2 2 ...You can see that reference level is 0