首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何知道由随机森林生成的回归模型是否良好?( MSE和%Var(y))

问如何知道由随机森林生成的回归模型是否良好?( MSE和%Var(y))
EN

Stack Overflow用户
提问于 2013-05-15 01:04:19
回答 1查看 9.5K关注 0票数 4

我尝试使用随机森林进行回归。原始数据是一个218行9列的数据帧。前8列是分类值(可以是A、B、C或D),最后一列V9的数值可以从10.2%到999.87。

当我在训练集上使用随机森林时,它代表了原始数据的2/3,并且是随机选择的,我得到了以下结果。

代码语言:javascript
复制
>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很高,我怀疑回归模型并不是很好。关于如何阅读上面的结果,有什么想法吗?他们的意思是模型不好吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-15 01:26:26

就像@Joran told一样,%Var是你的随机森林模型解释的Y的总方差。调整后,将模型应用于您的验证数据(剩余1/3):

代码语言:javascript
复制
RFestimated = predict(r, data=ValidationData)

检查残差也很有趣:

代码语言:javascript
复制
qqnorm((RFestimated - ValidationData$V9)/sd(RFestimated-ValidationData$V9))

qqline((RFestimated-ValidationData$V9)/sd(RFestimated-ValidationData$V9))

估计值与观测值:

代码语言:javascript
复制
plot(ValidationData$V9, RFestimated)

和RMSE:

代码语言:javascript
复制
RMSE <- (sum((RFestimated-ValidationData$V9)^2)/length(Validation$v9))^(1/2)

我希望这能有所帮助!

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16548882

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档