R h2o - mcc 阈值交叉验证的混淆矩阵

R h2o - confusion matrix on cross-validation for mcc threshold

在使用 5 折交叉验证训练我的 XGBoost 模型后,我想了解模型在新数据上的性能。据我了解,模型在每次交叉验证中的表现 运行 是可接受的衡量标准。

使用h2o.performance(best_XGBoost, xval = T) 我可以得到交叉验证的混淆矩阵。但是,阈值是根据 F1 select 编辑的,我希望看到使用 absolute_mcc 到 select 阈值的性能。

有办法吗?

1。新数据的表现:

     h2o.confusionMatrix(object = yourXGBmodelHere, 
                        newdata = yourTestSetHere, 
                        metrics = "absolute_mcc")

2。简历绩效评估:

fold_ass <- h2o.cross_validation_fold_assignment(model)
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 = TRUEkeep_cross_validation_predictions = TRUE。这样您就可以使用:

h2o.cross_validation_fold_assignment(model)
h2o.cross_validation_predictions(model)

h2o.cross_validation_models(model)