7.R语言分析数据:随机森林分类+影响因子重要性可视化



R语言实战第17章
(1)数据准备

class是因变量,其余列为自变量,ID及其前面一列的编号不做为变量。
训练集和验证集可以不区分


1 library (randomForest)
2 df.train<-read.csv("df.train.csv")

3 set.seed(1234)
#该命令的作用是设定生成随机数的种子,种子是为了让结果具有重复性。
4 fit.forest <- randomForest(class~. , data=df.train,na.action=na.roughfix,importance=TRUE)
#class~.;class表示该目录下为因变量(响应变量),~.表示省略号 表示包含所有的自变量。na.action=na.roughfix,将NA单元格进行按列求均值或众数,importance=TRUE将错误值进行计算。



type=2


随机森林的可视化:


模型误差图:(对数据量的界定图中200以后区域平稳,视频中选择了500个左右,因此数据选这比较合理)


varImpPlot(fit.forest,main = "variable importance")#fit.forest随机森林的结果,
main标题

5
na.action=na.roughfix,
6
importance=TRUE)
7#设置proximity=TRUE,则指定计算临近矩阵
8fit.forest
9importance(fit.forest, type=2)10#验证(可无)
11 forest.pred <- predict(fit.forest,df.validate)
12forest.perf <- table(df.validate$class,forest.pred,13
dnn=c("Actual", "Predicted" ))
14 forest.perf
mhJ.nZ1