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

本文介绍了如何使用R语言进行机器学习的特征选择,包括移除冗余和高度关联的特征,通过递归特征消除法(RFE)确定特征重要性,并展示了在Pima Indians Diabetes数据集上的应用。特征工程如归一化和标准化也是关键步骤,文中还以鸢尾花数据集为例,比较了R和Python在特征选择上的异同。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

通过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(
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

镰刀韭菜

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

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

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

打赏作者

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

抵扣说明:

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

余额充值