我的代码如下
gbm.fit.hex = h2o.gbm(x= xcols , y =1865 , training_frame = tr.hex , distribution = "bernoulli", model_id = "gbm.model" , key = "gbm.model.key" , ntrees = gbm.trees , max_depth = gbm.depth , min_rows = gbm.min.rows , learn_rate = gbm.learn.rate , nbins = 20 , balance_classes = gbm.balance , nfolds = gbm.folds )
perf <- h2o.performance(gbm.fit.hex , tr.hex)
a = h2o.auc(perf , xval = TRUE)
auc调用返回什么?它是否返回训练数据集或交叉验证结果的AUC ?
它检索交叉验证的AUC。
由于您将nfolds
参数设置为非零,因此h2o.gbm
函数除了在完整训练集上训练GBM模型外,还执行k-fold交叉验证。在您的命令中,您没有指定验证集,因此您可以检索的AUC值是训练AUC、h2o.auc(perf, train = TRUE)
和交叉验证的AUC(如上所述)。
如果您想在单独的验证(或测试)集上评估性能,您可以使用validation_frame
参数传递该帧,并使用h2o.auc(perf, valid = TRUE)
检索验证AUC。