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

时间:2019-01-03 10:24:58

标签: r h2o confusion-matrix

使用5倍交叉验证对XGBoost模型进行训练后,我想对新数据上的模型性能有所了解。据我了解,模型在每次交叉验证中的性能都可以用这种性能来衡量。

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

有办法吗?

1 个答案:

答案 0 :(得分:1)

  1. 对新数据的性能:

     h2o.confusionMatrix(object = yourXGBmodelHere, 
                        newdata = yourTestSetHere, 
                        metrics = "absolute_mcc")
    
  2. 简历绩效评估。

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 = TRUEkeep_cross_validation_predictions = TRUE。这样您就可以使用:

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

h2o.cross_validation_models(model)