如何知道由随机森林生成的回归模型是否良好?(MSE和%Var(y))
我尝试使用随机森林进行回归。原始数据是一个218行9列的数据帧。前8列是分类值(可以是A、B、C或D),最后一列V9的数值可以从10.2到999.87 当我在一个训练集中使用随机森林时,它代表了原始数据的2/3,并且是随机选择的,我得到了以下结果如何知道由随机森林生成的回归模型是否良好?(MSE和%Var(y)),r,random-forest,variance,mean-square-error,R,Random Forest,Variance,Mean Square Error,我尝试使用随机森林进行回归。原始数据是一个218行9列的数据帧。前8列是分类值(可以是A、B、C或D),最后一列V9的数值可以从10.2到999.87 当我在一个训练集中使用随机森林时,它代表了原始数据的2/3,并且是随机选择的,我得到了以下结果 >r=randomForest(V9~.,data=trainingData,mytree=4,ntree=1000,importance=TRUE,do.trace=100) | Out-of-bag | Tre
>r=randomForest(V9~.,data=trainingData,mytree=4,ntree=1000,importance=TRUE,do.trace=100)
| Out-of-bag |
Tree | MSE %Var(y) |
100 | 6.927e+04 98.98 |
200 | 6.874e+04 98.22 |
300 | 6.822e+04 97.48 |
400 | 6.812e+04 97.34 |
500 | 6.839e+04 97.73 |
600 | 6.852e+04 97.92 |
700 | 6.826e+04 97.54 |
800 | 6.815e+04 97.39 |
900 | 6.803e+04 97.21 |
1000 | 6.796e+04 97.11 |
我不知道高差异百分比是否意味着模型是好的还是不好的。此外,由于MSE很高,我怀疑回归模型不是很好。你知道如何阅读上面的结果吗?它们是否意味着模型不好?就像@Joran告诉我们的那样,%Var是由随机森林模型解释的Y的总方差量。调整后,将模型应用于验证数据(剩余1/3): 检查残差也很有趣:
qqnorm((RFestimated - ValidationData$V9)/sd(RFestimated-ValidationData$V9))
qqline((RFestimated-ValidationData$V9)/sd(RFestimated-ValidationData$V9))
估计值与观测值:
plot(ValidationData$V9, RFestimated)
以及RMSE:
RMSE <- (sum((RFestimated-ValidationData$V9)^2)/length(Validation$v9))^(1/2)
RMSE解释的%Var如此之高,而变化如此之小(方向错误),这一事实肯定会让我产生怀疑。模型评估既是一门科学,也是一门艺术。模型如何在保留的测试数据上执行?尝试查看拟合与实际数据的曲线图。感谢你们的帮助!!!
RMSE <- (sum((RFestimated-ValidationData$V9)^2)/length(Validation$v9))^(1/2)