随机森林建模

博主参与datacastle建模比赛,尝试用R语言实现随机森林的二分类模型。他遇到使用交叉验证时计算时间过长的问题,决定暂时保存代码,并期待得到他人指导。

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

在看datacastle的建模大赛,用r写了随机森林的二分类,上次代码用py跑的,这里想用交叉验证,但是跑了一天一夜也木有出来,还是把代码先保留下来吧,希望看到的人指正



rm(list=ls())

setwd("D:\\competitions\\datacastle\\p2p")


train_x<-read.csv("train_x.csv",header=T)
train_y<-read.csv("train_y.csv",header=T)
train_y$y<-as.factor(unlist(train_y[2]))
#head(train_y)




fea<-read.csv("D:\\competitions\\datacastle\\p2p\\原始数据\\features_type.csv")
test<-read.csv("test_x.csv")
n<-nrow(train_x)


print("查看y中正负样本分布")
分布<-table(train_y[2])
cat("正负样本分布",分布)
比例<-prop.table(table(train_y[2]))
cat("正负样本比例",比例)


print("把train和test中类别型变量变成factor")
train和test特征<-rbind(train_x,test)
因子化train和test<-sapply(train和test特征[,-1][,fea[2]=='category'],as.factor)
#head(因子化train和test,n=2)


print("把因子化的数据和连续型的合并")
ok_data<-cbind(train和test特征[,-1][,!fea[2]=='category'],因子化train和test)
ok_data1<-cbind(train和test特征[,1],ok_data)
#dim(ok_data)
names(ok_data1)[1]<-"uid"




训练x<-ok_data1[1:n,]
合并训练x和y<-merge(训练x,train_y,by.x="uid",by.y="uid")
#head(train_y)
#dim(合并训练x和y)


print("生成平衡的训练数据")
rep<-合并训练x和y[合并训练x和y$y==0,]
for (i in 1:6){
  rep<-rbind(rep,合并训练x和y[合并训练x和y$y==0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值