【问题标题】:Cross Validation Metrics for H2oH2o 的交叉验证指标
【发布时间】:2018-03-16 06:26:24
【问题描述】:

我很难理解为什么我使用 h2o 时模型上各种指标的输出会有所不同。

例如,如果我使用“h2o.grid”,那么当我查看平均模型$cross_validation_metrics_summary 时,logloss 度量是不同。它与 model$cross_validation_metrics_summary 相同。这种差异背后的原因是什么?我应该报告哪一个?

library(mlbench) 
  library(h2o)
 data(Sonar)

h2o.init() Sonarhex <- as.h2o(Sonar) h2o.grid("gbm", grid_id = "gbm_grid_id0", x = c(1:50), y = 'Class',
         training_frame = Sonarhex, hyper_params = list(ntrees = 50, learn_rate = c(.1, .2, .3)), nfolds = 5, seed=1234)

grid <- h2o.getGrid("gbm_grid_id0", sort_by = 'logloss')

first_model = h2o.getModel(grid@model_ids[[1]]) first_model@model$cross_validation_metrics_summary first_model@model$cross_validation_metrics

【问题讨论】:

  • 请查看我无法重现问题的源代码。

标签: r cross-validation h2o


【解决方案1】:

此不一致是已记录并解释的问题here,并将在未来的版本中解决。 model$cross_validation_metrics_summary 指标是正确的 CV 指标。出现在 Grid 表中或使用 h2o.logloss(model, xval = TRUE) 等实用函数的指标略有不同,因为它们聚合了 CV 预测,然后计算损失(而不是在 K 折中分别计算损失,然后取平均值)。这可能会导致细微的数值差异。

【讨论】:

    猜你喜欢
    • 2020-01-18
    • 1970-01-01
    • 2019-10-04
    • 2020-05-13
    • 2018-08-20
    • 1970-01-01
    • 2020-11-28
    • 2021-06-25
    • 1970-01-01
    相关资源
    最近更新 更多