【问题标题】:Grid Search builds models with different parameters (h2o in R) yields identical performance - why?Grid Search 构建具有不同参数的模型(R 中的 h2o)产生相同的性能 - 为什么?
【发布时间】:2018-05-08 14:53:53
【问题描述】:

代码和结果如下。这怎么可能? MSE 是相同的,但参数却大不相同。

hyper_params <- list(
        ntrees = c(5000, 7000, 10000),
        max_depth = c(15,18,21,24,27),
        min_rows = c(5,7,10,13,16),
        learn_rate = c(0.01,0.03,0.05,0.1),
        col_sample_rate_per_tree = c(0.3,0.5,0.7,0.85),
        min_split_improvement = c(10,20,30,40,50,60,70))

  search_criteria = list(strategy = "RandomDiscrete",
                         #stopping_rounds = 3,
                         max_models = num_models)#,
                         #stopping_tolerance=1e-3
  grid <- h2o.grid(
    algorithm = "gbm",
    grid_id = "grid",
    training_frame = train,
    # validation_frame = valid,
    x = independent_variables,
    y="NSP",
    stopping_metric="MSE",
    hyper_params = hyper_params,
    search_criteria = search_criteria,
    nfolds = 5,
    fold_assignment = "Modulo",
    keep_cross_validation_predictions = TRUE)

Hyper-Parameter Search Summary: ordered by increasing mse
   col_sample_rate_per_tree learn_rate max_depth min_rows min_split_improvement ntrees     model_ids                 mse
1                       0.5       0.01        24      5.0                  60.0   7000  grid_model_2 0.36927908175912655
2                      0.85       0.01        18      5.0                  40.0   5000  grid_model_6 0.36927908175912655
3                       0.3        0.1        24     13.0                  30.0   7000 grid_model_11 0.36927908175912655
4                      0.85       0.03        24     10.0                  50.0   5000  grid_model_4 0.36927908175912655
5                       0.5       0.01        21      5.0                  30.0   7000  grid_model_9 0.36927908175912655
6                      0.85        0.1        24     10.0                  70.0   5000 grid_model_13 0.36927908175912655
7                       0.7        0.1        15     13.0                  10.0  10000 grid_model_14 0.36927908175912655
8                       0.3       0.05        27     13.0                  20.0   7000  grid_model_5 0.36927908175912655
9                      0.85       0.05        27     13.0                  70.0   7000  grid_model_0 0.36927908175912655
10                      0.7       0.05        24     13.0                  60.0   5000  grid_model_7 0.36927908175912655
11                     0.85       0.05        21      7.0                  20.0  10000  grid_model_8 0.36927908175912655
12                      0.5       0.01        15      7.0                  20.0  10000 grid_model_10 0.36927908175912655
13                      0.3       0.01        18      7.0                  30.0   7000  grid_model_1 0.36927908175912655
14                      0.5       0.03        21     13.0                  10.0   5000 grid_model_12 0.36927908175912655
15                     0.85       0.01        21      7.0                  40.0   5000  grid_model_3 0.36927908175912655

感谢任何和所有指导。

谢谢。

【问题讨论】:

  • 您能否发布一个可重现的示例?例如,使用 iris 数据集或其他一些公开可用的数据集。

标签: r h2o grid-search gbm


【解决方案1】:

我想你的数据是这样的,只有学习它的方法。

作为一个具体示例,如果您将 max_depth 设置为 18,将另一棵树的 max_depth 设置为 24,但您在 independent_variables 中只有一个条目,那么很可能只会生成深度为 1 或 2 的树在每种情况下。所以不同的超参数没有区别。

如果您不能提供重现它的数据,那么输出默认模型的摘要(不使用网格,不使用任何特定参数)会很有趣。此外,显示列类型和nrow(train)。 (如果您有错误的列类型,它可以解释您所看到的。)

【讨论】:

    猜你喜欢
    • 2020-05-30
    • 2018-06-16
    • 1970-01-01
    • 2023-03-11
    • 1970-01-01
    • 2017-07-11
    • 2016-12-25
    • 2020-01-30
    • 1970-01-01
    相关资源
    最近更新 更多