如何使用插入符号 (maxit) 为地球传递 glm 控制参数
how to pass glm control argument for earth using caret (maxit)
为 glm
模型拟合 earth
时,可以将参数传递给 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
为 glm
模型拟合 earth
时,可以将参数传递给 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