0
Я использую rms-библиотеку для выполнения регуляризованной логистической регрессии и хочу, чтобы перехват был равен нулю. Я использую следующие для моделирования и регресс:R Удалить перехваты в логистической регрессии
library(rms)
N = 100
pred <- vapply(1:12, function(i) rnorm(N, mean = 0, sd =1), numeric(N))
resp <- 20*pred[, 1] - 3*pred[, 7] - 2*pred[, 8] + matrix(rnorm(N, sd = 0.1)) + 20
pr <- 1/(1 + exp(-resp))
y <- rbinom(N, 1, pr)
lrm(y ~ pred, penalty = 1)
Пост в How to remove intercept in R предлагает включить «0 +» или «- 1» в формуле модели. Однако, похоже, это не работает для lrm.
Вам нужно использовать библиотеку 'rms'? –
Нет. Я знаю три возможные библиотеки: 'glmnet',' LiblinearC' и 'rms'; если вы знаете что-нибудь другое, я бы не прочь узнать о них. Я обнаружил, что 'LiblinearC' работает дольше и дает более чужие результаты, чем' rms'; Я тестирую 'glmnet' прямо сейчас. – TreeStump
Я думаю, что glmnet - это современное состояние. –