7.R語言分析數(shù)據(jù):隨機森林分類+影響因子重要性可視化



R語言實戰(zhàn)第17章
(1)數(shù)據(jù)準備

class是因變量,其余列為自變量,ID及其前面一列的編號不做為變量。
訓練集和驗證集可以不區(qū)分


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

3 set.seed(1234)
#該命令的作用是設(shè)定生成隨機數(shù)的種子,種子是為了讓結(jié)果具有重復性。
4 fit.forest <- randomForest(class~. , data=df.train,na.action=na.roughfix,importance=TRUE)
#class~.;class表示該目錄下為因變量(響應(yīng)變量),~.表示省略號 表示包含所有的自變量。na.action=na.roughfix,將NA單元格進行按列求均值或眾數(shù),importance=TRUE將錯誤值進行計算。



type=2


隨機森林的可視化:


模型誤差圖:(對數(shù)據(jù)量的界定圖中200以后區(qū)域平穩(wěn),視頻中選擇了500個左右,因此數(shù)據(jù)選這比較合理)


varImpPlot(fit.forest,main = "variable importance")#fit.forest隨機森林的結(jié)果,
main標題

5
na.action=na.roughfix,
6
importance=TRUE)
7#設(shè)置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