【问题标题】:R h2o - confusion matrix on cross-validation for mcc thresholdR h2o - mcc 阈值交叉验证的混淆矩阵
【发布时间】:2019-05-29 22:18:45
【问题描述】:

在使用 5 折交叉验证训练我的 XGBoost 模型后,我想了解模型在新数据上的性能。据我了解,模型在每次交叉验证中的表现都在可接受的范围内。

使用 h2o.performance(best_XGBoost, xval = T) 我可以得到交叉验证的混淆矩阵。但是,阈值是基于F1选择的,我想看看使用absolute_mcc选择阈值的性能。

有办法吗?

【问题讨论】:

    标签: r h2o confusion-matrix


    【解决方案1】:

    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)
    

    【讨论】:

    • 问题是如何获取交叉验证数据,以及每个折叠的模型。
    • 好的,我以为你有 2 个问题
    • 您的解决方案解决了我所说的问题,因此我将其标记为已解决。然而,我认为我的真正目标(我现在才意识到)存在细微差别。 H2O 执行了组合的保持预测。使用您的解决方案,我最终可以通过结合所有折叠的预测来计算它,但是您知道一种集成的方法吗?
    猜你喜欢
    • 2014-04-19
    • 2012-04-01
    • 1970-01-01
    • 2019-04-13
    • 2022-01-19
    • 2017-03-03
    • 2020-01-18
    • 2018-09-10
    • 2019-01-12
    相关资源
    最近更新 更多