1.没有要求,随机森林对变量的各种形式容忍度很高
2.一般先设定mtry为变量个数的均方根,在寻找最优的ntree
可以通过:
plot(model2$err.rate[,1],type='l') ##总误差分布
plot(model2$err.rate[,2],type='l') ##误判正误差分布
plot(model2$err.rate[,3],type='l') ##正判误误差分布
寻找误差分布收敛的ntree点值为模型训练值,再基于选择好了的ntree值反过来选择mtry的深度,
##寻找最有的深度mtry
rate<-rep(0,5)
for( i in 1:(ncol(train_test1)/2))
{
set.seed(112)
model<-randomForest(tag~zhi_score+phone_score+guide_score+risk_level+high_orders+airport_orders+company+consume+area,data=train_test1,importance=T,proximity=T,mtry=i,ntree=500)
rate[i]= mean(model$err.rate)#计算基于OOB数据的模型误判率均值
}
不同的深度对应的OOB的值存在差异,合理选择