R语言 随机森林 Random Forest 交叉验证 error.cv Gini指数画图

本文介绍了如何使用R语言实现随机森林算法,包括数据预处理、模型训练、变量重要性评估以及ROC曲线分析。通过随机森林进行分类和回归任务,展示了交叉验证在模型选择中的应用,并探讨了随机森林结果的随机性及其处理方法。

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

机器学习RandomForest, 随机森林, 分类回归

#自己的一些记录。  提供参考吧。

#可以直接复制到R运行

#加载包
library(randomForest)

#加载数据
data=read.csv("L6_filter.csv",row.names = 1,header=T)  

#设置随机种子数,确保以后再执行代码时可以得到一样的结果
set.seed(123456789)

#数据随机采样设置70%数据用作训练集 30%用作测试集
train_sub = sample(nrow(data),7/10*nrow(data))
train_data = data[train_sub,]
test_data = data[-train_sub,]

#数据预处理 factor的作用是打上标签或者类别
train_data$zq101 = as.factor(train_data$zq101)  #zq101是我的分组信息
test_data$zq101 = as.factor(test_data$zq101)

#筛选mtry个数 
n<-length(names(train_data)) 

set.seed(123456789)  #一些网友说每次随机森林前面都要跑一下
for(i in 1: (n-1)){
        mtry_fit<-randomForest(zq101~. ,data=train_data,mtry=i)
        err<-mean(mtry_fit$err.rate)
        print(err)
}      


##试验性训练模型,使用训练集构建随机森林 
#ntree和mytry分布根据后面的步骤确定 决策树的数量,默认是500,
#mtry每个分组中随机的变量数一般是变量数开根

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值