2015-04-21 360 views
2

我在R中使用随机森林包进行回归,它给了我两种信息:Mean of squared residuals和%Var解释。但我想计算训练和测试集的RMSER^2,任何人都可以帮助我如何找到这些信息?R中的随机森林包

+3

请提供一个具有最小可重复性的代码示例,包括库依赖关系和您使用的任何函数。 – mlegge

回答

2

对不起,这不是一个具体的答案,但我没有足够的信誉留下评论。

很难说如何在没有可重复的例子的情况下得到你想要的东西。但是,如果您在调用randomForest时使用了xtest=ytest=参数(假设您使用的是“randomForest”包),那么您要查找的内容应该是生成的randomForest对象的一部分。你想看什么是test生成的随机森林列表的一部分。

尝试的例子:

rf.results <- randomForest(whatever arguments) 
rf.results$test$mse # mse (maybe you can take the square root to get rmse) 
rf.results$test$rsq # pseudo-R2 for random forest 

如果你有随机森林包装,你可以验证此信息以及自己做了一些探索与?randomForest。文档的“Value”部分详细说明了对randomForest的调用所产生的对象,以及您可以在哪里找到各种性能指标。

+0

谢谢,但还有两个问题:1:用rf.results $ mse,我可以计算训练集的mse和rsq吗?第二个问题,为什么我得到一个向量作为结果!!!?实际上,我只需要一个真正的mse和rsq。但是我认为它为每个数据样本提供了一个mse和一个rsq。我该怎么办? –

+0

'rf.results $ mse'会给你训练集的mse,'rf.results $ rsq'会给训练集提供伪R2。 rf.results $ test中的mse和rsq是验证集上的性能指标。你应该使用这些来找到森林中树的最佳数量。你得到一个结果向量的原因是因为'ntree'参数。您可以获得由1到'ntree'树组成的随机森林的性能指标。 –