r语言随机森林_R语言实现随机森林randomForest

随机森林是一个树形分类器的集合。随机森林是通过自助法重复抽样技术,从原始样本训练集中有放回地随机抽取k个样本生成新的训练集样本集合,然后根据自助样本集生成k个决策树组成的随机森林,最后根据所有决策树的预测结果来最终确定样本的预测结果。

在R软件中,用来实现随机森林的是randomForest软件包。

首先,安装并加载软件包。

install.packages("randomForest") #安装软件包

library(randomForest) #加载软件包

2  读取数据集。

gyyz_data=read.csv("gyyz.csv",head=T)

gyyz_data$is_rise=as.factor(gyyz_data$is_rise)#将目标变量转换成分类数据

head(gyyz_data);dim(gyyz_data)#查看数据维度

str(gyyz_data)#查看数据集中各变量的属性

r语言随机森林_R语言实现随机森林randomForest_第1张图片r语言随机森林_R语言实现随机森林randomForest_第2张图片

3  建立随机森林模型。

n=dim(gyyz_data)[1]

samp=sample(n,0.9*n)#随机抽取90%的样本

#建立随机森林模型

gyyz_rf=randomForest(is_rise~.,data=gyyz_data,ntree=500,importance=TRUE,proximity=TRUE,type=classification,suset=samp)

randomForest函数中主要有参数formula,这里用class~.形式。data表示数据集;subset用于抽取样本数据中的部分样本作为训练集;ntree表示森林中树的数目;importance表示输出各变量在模型中的重要值;proximity用来决定计是否计算模型的临近矩阵;type用来选择建模类别,主要有“回归,分类,或无监督”。

r语言随机森林_R语言实现随机森林randomForest_第3张图片

4  查看模型结果。

print(gyyz_rf)#展示随机森林模型

importance(gyyz_rf,type=1)#查看各个变量的贡献程度

从结果中可以看到模型的错误率、预测结果的混淆矩阵,以及各个变量在模型中的重要值。

r语言随机森林_R语言实现随机森林randomForest_第4张图片

5  绘制随机森林模型的坐标图。

MDSplot(gyyz_rf,gyyz_data$is_rise,palette=1:2,

pch=as.numeric(gyyz_data$is_rise))

从图形中可以看出各类样本比较分散,模型分类结果较差。

r语言随机森林_R语言实现随机森林randomForest_第5张图片

6  可视化。

#查看随机森林中每一棵树的节点个数

hist(treesize(gyyz_rf))

#绘制模型误差与决策树关系图

plot(gyyz_rf)

r语言随机森林_R语言实现随机森林randomForest_第6张图片r语言随机森林_R语言实现随机森林randomForest_第7张图片

你可能感兴趣的:(r语言随机森林)