当为earth
模型拟合glm
时,可以将参数传递给glm
调用。例如:
mars_fit <- earth(formula = response ~ x1 + x2, data = sim_dat,
glm = list(family=binomial, control = list(maxit = 50)))
使用caret
看起来像
fit_control <- trainControl(method = "cv", number = 10)
mars_grid <- expand.grid(degree=1:2, nprune=2:10)
mars_fit <- train(factor(response)~x1+x2, method='earth', trControl = fit_control,
data=sim_dat, tuneGrid=mars_grid,
glm = list(control = list(maxit = 50)))
但glm
列表未通过。有什么建议?
编辑1:阅读https://github.com/topepo/caret/issues/554 caret
的作者说它要么被卡在...
中,要么应该在调整网格中传递。当通过调整网格时,由于glm
是一个列表,train
抱怨degree
和nprune
不属于该方法,这是不正确的。编辑2:打开https://github.com/topepo/caret/issues/1018