数据挖掘学习1----随机森林

本文介绍随机森林算法原理,通过大量不完全可靠的决策树集合预测值,利用少数优质树提高整体预测准确性。并提供了一个使用R语言实现随机森林的具体案例。

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

随机森林

         在机器学习中,随机森林是一个包含多个决策树的分类器, 并且其输出的类别是由个别树输出的类别的众数而定。

         所以10000个(概率上)糟糕的模型有什么好的?好吧,这样确实没什么特别的好处。但是随着很多糟糕的决策树被生成,其中也会有很少确实很优秀的决策树。

当你要做预测的时候,新的观察到的特征随着决策树自上而下走下来,这样一组观察到的特征将会被贴上一个预测值/标签。一旦森林中的每棵树都给出了预测值/标签,所有的预测结果将被归总到一起,所有树的模式投票被返回做为最终的预测结果。

简单来说,99.9%不相关的树做出的预测结果涵盖所有的情况,这些预测结果将会彼此抵消。少数优秀的树的预测结果将会超脱于芸芸“噪音”,做出一个好的预测。


1.函数介绍

randomForest(formula, data, mtry, ntree)


注:mtry的取值是创建随机森林方法的作者的建议。

代码:

>setwd("d://Users/Administrator.WIN-T6E9K7D8SKG/Desktop/R_learning")

#注意这里要用://和/ 不能用直接复制过来的地址。

>install.packages("randomForest")

#要用随机森林的函数要先安装一下。

train<-read.csv("train.csv")

test<--read.csv("test.csv")

#把数据读进来

train<-train[-1]

test<-test[-1]

#它们的第一列都不参与运算,所以去掉,是ID

library("randomForest")

#把这个库导进去

model<-randomForest(TARGET~.,data=train,ntree=150,mtry=18)

#这个核心函数了,要运行好久,开始进行训练,参数 TARGET~.很重要,这个就是我们要最后算的那个变量,它刚好在文件的最后一列,叫TARGET~.

result<-predict(model,test)

#训练好了就要拿来预测了,test没有TARGET那列。

a<-read.csv("test.csv")

lxb<-cbind(a$ID,result)

write.csv(lxb,"lxb.csv",row.names= FALSE)

#然后就是构造要提交的文件格式,先把原先的ID读进来,作为第一列和result合并,写入lxb.csv




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值