Я пытаюсь использовать R caret для выполнения перекрестной проверки моих моделей линейной регрессии. В некоторых случаях, я хочу, чтобы заставить перехватывать через 0. Я попытался следующий, используя стандартный синтаксис ого:Использование линейной регрессии (lm) в R-каретке, как заставить перехват через 0?
regressControl <- trainControl(method="repeatedcv",
number = 4,
repeats = 5
)
regress <- train(y ~ 0 + x,
data = myData,
method = "lm",
trControl = regressControl)
Call:
lm(formula = .outcome ~ ., data = dat)
Coefficients:
(Intercept) x
-0.0009585 0.0033794 `
Этого синтаксис, кажется, работает со стандартной функцией «ой», но не в пакете каретки. Какие-либо предложения?
test <- lm(y ~ 0 + x,
data = myData)
Call:
lm(formula = y ~ 0 + x, data = myData)
Coefficients:
x
0.003079
Я считаю, что вы хотите, чтобы формула 'y ~ -1 + x' явно исключала перехват. – aichao
@aichao Обе эти функции работают в большинстве функций, но реализация «caret» затрудняет работу без редактирования исходного кода. – Chrisss
@Chrisss: спасибо! приятно знать. – aichao