【机器学习】使用R语言进行机器学习特征选择

通过R语言进行机器学习中的特征选择


特征选择是实用机器学习的重要一步,一般数据集都带有太多的特征用于模型构建,如何找出有用特征是值得关注的重要内容。

基于caret包,使用递归特征消除法,其中rfe参数如下:

  • x,预测变量的矩阵或数据框
  • y,输出结果向量(数值型或因子型)
  • sizes,用于测试的特定子集大小的整型向量
  • rfeControl,用于指定预测模型和方法的一系列选项

 一些列函数可以用于rfeControl$functions,包括:线性回归(lmFuncs),随机森林(rfFuncs),朴素贝叶斯(nbFuncs),bagged trees(treebagFuncs)和可以用于caret的train函数的函数(caretFuncs)。

移除冗余特征,移除高度关联的特征

set.seed(1234)
library(mlbench)
library(caret)
data(PimaIndiansDiabetes)
Matrix <- PimaIndiansDiabetes[,1:8]

library(Hmisc)
up_CorMatrix <- function(cor,p) {ut <- upper.tri(cor) 
data.frame(row = rownames(cor)[row(cor)[ut]] ,
           column = rownames(cor)[col(cor)[ut]], 
           co
  • 9
    点赞
  • 181
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论
根据引用\[3\]所提到的,R语言中可以使用Boruta包进行机器学习特征筛选。Boruta是一个基于随机森林的变量筛选方法。它通过对特征进行混洗和原特征的重要性比较来确定特征的重要性。如果原特征的重要性比混洗之后还差,那么这个特征被认为是"不重要"的。如果混洗之后,重要性总是比原来的特征要低,那么这个特征被认为是"重要"的。Boruta包已经非常成熟,可以在R语言使用,并且实现起来非常快速。你可以参考Boruta包的官方文档来了解更多关于使用Boruta进行机器学习特征筛选的详细信息。 #### 引用[.reference_title] - *1* *2* [R语言基于Boruta进行机器学习特征筛选(Feature Selection)](https://blog.csdn.net/zhongkeyuanchongqing/article/details/119615346)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [全自动机器学习:自动特征筛选(B)R语言自动特征工程实现](https://blog.csdn.net/weixin_29666489/article/details/111972845)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

镰刀韭菜

看在我不断努力的份上,支持我吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值