GBM R包中的R平方计算

时间:2015-03-10 20:43:33

标签: r cross-validation gbm

想要计算R中由gbm(Gradient Boosting Machine)包创建的模型的R-Squared。运行具有5倍交叉验证的gbm函数后,将交叉验证的拟合值与结果变量的观察值相关联并将结果平方。这是一种有效的方法来推导交叉验证R-Squared以评估模型拟合吗?代码如下:

>Test_gbm1 <- gbm(YVar ~ ., distribution="gaussian", data=Test_Data, n.trees=15000, interaction.depth=1, n.minobsinnode=3, shrinkage=0.001, bag.fraction=0.5, train.fraction=1, cv.folds=5, keep.data=TRUE, verbose=FALSE, n.cores=NULL)
>CV_RSq <- (cor(Test_gbm1$cv.fitted, Test_Data$YVar))^2
>Train_RSq <- (cor(Test_gbm1$fit, Test_Data$YVar))^2

输出

  

Train_RSq

[1] 0.9762177

  

CV_RSq

[1] 0.8918581

这些结果对我有意义:训练模型R-Squared&gt; CV R-Squared。使train.fraction = 1也是有意义的,因为提取测试样本将是多余的(由于交叉验证)。这种计算gbm R-Squared的方法似乎有效吗?

0 个答案:

没有答案