Функция GLM R по умолчанию - один против всех или один против одного или многочленный подход?
Если бы я должен был сделать логистическую регрессию на наборе данных радужной оболочки
fit <- glm(species ~ ., data = iris, family = binomial(link = "logit"), subset = c(1:100))
pred <- predict(fit, iris[101:150,-5], type = 'response')
Тогда какой тип логистической регрессии это будет делать? один против одного? Все против всех? Софтмакс?
Допустим, я хотел сделать все три и сравнить результаты. Есть ли встроенные команды для этого? Должен ли я написать свою собственную функцию для этого? Самое главное, что R по умолчанию?
-Травазавр рекс
1 ответ
Мне не ясно, что ты пытаешься сделать. glm(..., family = binomial(link = "logit"))
соответствует простой логистической модели, предполагающей бинарный результат (например, успех против отказа, отсюда и исходное биномиальное распределение).
Если вы хотите соответствовать многочленной модели, вы можете использовать nnet::multinom
library(nnet)
fit <- multinom(Species ~ ., data = iris)
#Call:
#multinom(formula = Species ~ ., data = iris)
#
#Coefficients:
# (Intercept) Sepal.Length Sepal.Width Petal.Length Petal.Width
#versicolor 18.69037 -5.458424 -8.707401 14.24477 -3.097684
#virginica -23.83628 -7.923634 -15.370769 23.65978 15.135301
#
#Residual Deviance: 11.89973
#AIC: 31.89973