2017-11-24 4 views
0

コードと結果は以下のとおりです。これはどのように可能ですか? MSEは、大きく異なるパラメータと同一です。グリッド検索は、異なるパラメータ(Rのh2o)を持つモデルを構築して、同じパフォーマンスをもたらします - なぜですか?

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 

すべてのガイダンスは高く評価されます。

ありがとうございます。

+0

再現可能な例を投稿できますか?例えば、虹彩データセットまたは他の公的に利用可能なデータセットを使用する。 –

答えて

0

私はあなたのデータが唯一の方法を学ぶようなものだと思います。

具体的な例として、max_depthを18に設定し、別のツリーをmax_depthに設定すると、independent_variablesに1つのエントリしかない場合は、深度1または2のツリーを作成する可能性が最も高いです各ケース。したがって、異なるハイパーパラメータは違いはありません。

もしそれを再現するデータを与えることができないのであれば、デフォルトモデル(グリッドを使用せず、特定のパラメータを使用しない)のサマリを出力するのは面白いでしょう。また、列の種類と、nrow(train)を表示します。 (列の種類が間違っていると、表示される内容を説明できる)

関連する問題