基于特征重要性的特征排序代码。
这个代码可以用于指导特征选择,特征选择的策略:
1)Top-N策略;2)Top-percent策略。
代码语言:javascript复制
# 导入R库
library(mlbench)
library(caret)
# 加载数据集
data(PimaIndiansDiabetes)
# 设置训练的控制参数,利用10-折交叉验证的方法
control <- trainControl(method="cv", number=10)
# 训练模型
model <- train(diabetes~., data=PimaIndiansDiabetes, method="lvq", preProcess="scale", trControl=control)
# 评估变量的变量重要性
importance <- varImp(model, scale=FALSE)
# 重要性描述结果
print(importance)
# 重要性可视化
plot(importance)
结果和可视化如下:
代码语言:javascript复制# load the libraries
library(mlbench)
library(caret)
# load the dataset
data(iris)
# prepare training scheme
control <- trainControl(method="cv", number=10)
# train the model
model <- train(Species~., data=iris, method="lvq", preProcess="scale", trControl=control)
# estimate variable importance
importance <- varImp(model, scale=FALSE)
# summarize importance
print(importance)
# plot importance
plot(importance)
结果和可视化如下:
代码源自:
https://setscholars.net/2019/10/25/how-to-rank-feature-with-importance-in-r-feature-selection-in-r/