使用5倍交叉验证对XGBoost模型进行训练后,我想对新数据上的模型性能有所了解。据我了解,模型在每次交叉验证中的性能都可以用这种性能来衡量。
使用h2o.performance(best_XGBoost,xval = T)我可以获得交叉验证的混淆矩阵。但是,阈值是根据F1选择的,我希望使用absolute_mcc选择阈值来查看性能。
有办法吗?
答案 0 :(得分:1)
h2o.confusionMatrix(object = yourXGBmodelHere,
newdata = yourTestSetHere,
metrics = "absolute_mcc")
fold_ass <-h2o.cross_validation_fold_assignment(模型)
cvTrain <-h2o.cbind(data.train,fold_ass)
示例:模型1在第一折的表现如何:
h2o.confusionMatrix(object=h2o.cross_validation_models(model)[[1]],
newdata=cvTrain[fold_ass == 0, ],
metrics = "absolute_mcc")
NB-假设模型是通过以下方式训练的:
keep_cross_validation_fold_assignment = TRUE
和
keep_cross_validation_predictions = TRUE
。这样您就可以使用:
h2o.cross_validation_fold_assignment(model)
h2o.cross_validation_predictions(model)
h2o.cross_validation_models(model)