如何在R中将通过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:10b <- 11:20c <- 21:30d <- rnorm(10)fmla <- x ~ aupdate(fmla, "~b")#x ~ bnew <- c("b", "c", "d")update(fmla, paste("~", paste(new, collapse = "+")))#x ~ b + c + d

Related Posts

Flatten and back keras

我正在尝试使用自编码器获取简单向量中的值 这是我的代码…

如何按索引访问PyTorch模型参数

如果我的网络有10层,包括偏置项,如何仅通过索引访问第…

Python中多元逻辑回归显示错误

我试图使用逻辑回归进行预测,并使用Python和skl…

在MACOS上安装NLTK

我在我的2015款Mac Pro上尝试安装NLTK,操…

CountVectorizer 错误:ValueError: setting an array element with a sequence

我有一个包含144条学生反馈的数据集,其中有72条正面…

### 在特定轮次后开始回调值准确性[start callback val acc after specific epoch]

我在使用验证准确性实现提前停止时有一个疑问。 假设我想…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注