r - 如何将RFE选定的变量插入到r中的机器学习模型中?

标签 r machine-learning rfe

我想使用递归特征消除方法来选择最重要的特征,然后将它们放入机器学习模型中。我将RFE的代码写为

library(mlbench)
library(caret)
control <- rfeControl(functions=rfFuncs, method="cv", number=10)
results <- rfe(train[,1:134], train[,135], sizes=c(1:134),rfeControl=control)
print(results)
predictors(results)

然后代码为我提供了主要功能: [1]“a”“b”“c”“d”“e” 最后我将特征放入模型中:

weighted_fit <- train(x ~ a+b+c+d,
data = train,
method = 'glmnet',
trControl = ctrl)

我的问题是,每次 RFE 给我的顶级功能为 [1] "a""b""c""d""e"时,我必须将它们编辑为 a+b+c+d 并将它们放在手动添加到模型中,但是,当选择了 50 个特征作为顶级特征时,无法编辑它们并将它们放入模型中,有什么方法可以自动执行此操作。我非常感谢您的意见。

最佳答案

help("update") 是您要查找的内容吗?

x <- rnorm(10)
a <- 1:10
b <- 11:20
c <- 21:30
d <- rnorm(10)

fmla <- x ~ a

update(fmla, "~b")
#x ~ b

new <- c("b", "c", "d")
update(fmla, paste("~", paste(new, collapse = "+")))
#x ~ b + c + d

关于r - 如何将RFE选定的变量插入到r中的机器学习模型中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54869779/

相关文章:

r - 绘制具有置信区间的回归系数

python - 因子分析 Scikit

machine-learning - Word to Vector 中的线性激活函数

python - python 代码在终端中运行时出现错误

r - 插入符号的 rfe 函数中的下标越界错误

r - 使用 caret rfe 进行特征选择并使用另一种方法进行训练

scikit-learn - sklearn中分类数据的递归特征消除?

r - 删除重复的行,选择要保留的特定值

r - dplyr 排除行

r - 使用 mlr 预测计数