R代码|基于特征重要性的特征排序代码
专题介绍:R是一种广泛用于数据分析和统计计算的强大语言,于上世纪90年代开始发展起来。得益于全世界众多 爱好者的无尽努力,大家继而开发出了一种基于R但优于R基本文本编辑器的R Studio(用户的界面体验更好)。也正是由于全世界越来越多的数据科学社区和用户对R包的慷慨贡献,让R语言在全球范围内越来越流行。其中一些R包,例如MASS,SparkR, ggplot2,使数据操作,可视化和计算功能越来越强大。R是用于统计分析、绘图的语言和操作环境。R是属于GNU系统的一个自由、免费、源代码开放的软件,它是一个用于统计计算和统计制图的优秀工具。R作为一种统计分析软件,是集统计分析与图形显示于一体的。它可以运行于UNIX、Windows和Macintosh的操作系统上,而且嵌入了一个非常方便实用的帮助系统,相比于其他统计分析软件,R的学术性开发比较早,适合生物学和医学等学术学科的科研人员使用。
前言:
我根据自己的科研方向和实际工作,在利用R语言解决数据,特征和模型三方面的问题时,会搜集到一些R代码,利用【R语言】公众号将其整理和归总,分享给大家。一方面,希望这些R代码能够对大家解决实际问题有帮助或者启示;另一方面,也希望大家尝试从R代码中学习和应用R语言。
提示:需要加入R语言群的朋友,请扫码加我微信,备注入群即可。
基于特征重要性的特征排序代码。
这个代码可以用于指导特征选择,特征选择的策略:
1)Top-N策略;2)Top-percent策略。
# 导入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)
结果和可视化如下:
# 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/
关于这段代码,你有什么想法或者问题,请扫码加我微信,大家交流和讨论。
请关注“恒诺新知”微信公众号,感谢“R语言“,”数据那些事儿“,”老俊俊的生信笔记“,”冷🈚️思“,“珞珈R”,“生信星球”的支持!