Мои прогнозы, основанные на модели логистической регрессии (glm в R), не ограничены между 0 и 1, как я ожидал. Мое понимание логистической регрессии состоит в том, что ваши входные параметры и параметры модели объединяются линейно, и ответ преобразуется в вероятность с помощью функции связи logit. Поскольку функция логита ограничена между 0 и 1, я ожидал, что мои прогнозы будут ограничены между 0 и 1.
Однако это не то, что я вижу, когда я реализую логистическую регрессию в R:
data(iris)
iris.sub <- subset(iris, Species%in%c("versicolor","virginica"))
model <- glm(Species ~ Sepal.Length + Sepal.Width, data = iris.sub,
family = binomial(link = "logit"))
hist(predict(model))
Во всяком случае, вывод функции предиката (модели) выглядит нормально для меня. Может кто-нибудь объяснить мне, почему полученные значения не являются вероятностями?
Ответы:
predict.glm
Метод по умолчанию возвращает предсказатель на шкале линейного предсказателя. Т.е. они еще не прошли через функцию связи.Пытаться
hist(predict(model, type = "response"))
вместо
источник