r 中多个数据帧的排名特征选择
Rank Feature selection on Multiple data frames in r
我正在尝试使用 caret 包按重要性对功能进行排名。当我在单个数据帧上尝试它时它工作正常,但是当我尝试将它应用于多个数据帧时我遇到了麻烦。这是我的代码:
require(mlbench)
require(caret)
# Mylist is the list of my data frames
# prepare the training scheme
control.mylist <- trainControl(method = "repeatedcv", number = 10, repeats =3)
# train the model
model.mylist <- lapply(mylist, train, method = "knn", Industry_proximity~., preProcess = "scale", trControl = control.list.chempsetbio)
我想使用名为 Industry_prox 的列作为训练模型的结果(Industry_prox 在我的所有数据帧上都是相同的列名)。但是直到现在我的代码还不能工作
有谁知道我做错了什么以及如何改正吗?
提前致谢
我没有可重现的示例,所以我使用 mtcars 数据集创建了一个。
library(caret)
df1 <- mtcars
df2 <- mtcars
mylist <- list(df1, df2)
# prepare the training scheme
control.mylist <- trainControl(method = "repeatedcv", number = 10, repeats =3)
# train the model
model.mylist <- lapply(mylist, function(x) train(mpg ~., data = x, method = "knn", preProcess = "scale", trControl = control.mylist))
对于您的代码,最后一行应该是下面的代码。但是我注意到你代码中的trControl和你一开始指定的不一样
model.mylist <- lapply(mylist, function(x) train(Industry_proximity~., data = x, method = "knn", preProcess = "scale", trControl = control.mylist))
我正在尝试使用 caret 包按重要性对功能进行排名。当我在单个数据帧上尝试它时它工作正常,但是当我尝试将它应用于多个数据帧时我遇到了麻烦。这是我的代码:
require(mlbench)
require(caret)
# Mylist is the list of my data frames
# prepare the training scheme
control.mylist <- trainControl(method = "repeatedcv", number = 10, repeats =3)
# train the model
model.mylist <- lapply(mylist, train, method = "knn", Industry_proximity~., preProcess = "scale", trControl = control.list.chempsetbio)
我想使用名为 Industry_prox 的列作为训练模型的结果(Industry_prox 在我的所有数据帧上都是相同的列名)。但是直到现在我的代码还不能工作
有谁知道我做错了什么以及如何改正吗? 提前致谢
我没有可重现的示例,所以我使用 mtcars 数据集创建了一个。
library(caret)
df1 <- mtcars
df2 <- mtcars
mylist <- list(df1, df2)
# prepare the training scheme
control.mylist <- trainControl(method = "repeatedcv", number = 10, repeats =3)
# train the model
model.mylist <- lapply(mylist, function(x) train(mpg ~., data = x, method = "knn", preProcess = "scale", trControl = control.mylist))
对于您的代码,最后一行应该是下面的代码。但是我注意到你代码中的trControl和你一开始指定的不一样
model.mylist <- lapply(mylist, function(x) train(Industry_proximity~., data = x, method = "knn", preProcess = "scale", trControl = control.mylist))