文章目录
  1. 随机森林示例

随机森林示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#取相关变量
data<-dataOri[,c(1,2,4,7,8,9,13,14,16,17,18,19,20)]
#取自变量
modelData=data[,c(2:12)]
#取大小合适的数据集
x<-modelData[c(1:nrow(modelData)),c(-6,-8)]
#去除缺失值
x=na.omit(x)
#分为两部分(3:7分)
traindata<-x[sample(1:nrow(x),nrow(x)*0.7,replace=FALSE),]
testdata<-x[sample(1:nrow(x),nrow(x)-nrow(traindata),replace=FALSE),]
library(randomForest)
#~表示连接因变量与自变量之间的关系,X~.表示预测模式是所有X与其他所有变量
RF<-randomForest(as.factor(is_back)~.,data=traindata,proximity=TRUE, importance=TRUE)
plot(RF)

1
2
3
4
5
6
#获取变量的重要性排序
imp <- importance(RF)
impvar <- imp[order(imp[, 3], decreasing=TRUE),];
impvar
#查看变量重要性排序图
varImpPlot(RF)

1
2
#查看某个变量对数据的重要性分布图
partialPlot(RF,traindata,province_id)

1
2
3
4
5
6
7
#测试模型在traindata上的效果
table(predict(RF), traindata$is_back)
#测试模型在testdata上的效果
isbackPred <- predict(RF, newdata=testdata)
table(isbackPred, testdata$is_back)
# 绘制每一个观测值被判断正确的概率图
plot(margin(RF, testdata$is_back))

文章目录
  1. 随机森林示例