2017-11-24 13 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 또는 2 인 트리를 만들 것입니다. 각 경우. 따라서 다른 하이퍼 매개 변수는 아무런 차이가 없습니다.

재생산 할 수있는 데이터를 제공 할 수 없다면 특정 매개 변수를 사용하지 않고 그리드를 사용하지 않고 기본 모델의 요약을 출력하는 것이 좋습니다. 또한 열 유형과 nrow(train)을 표시하십시오. (잘못된 열 유형을 사용하면 표시 내용을 설명 할 수 있습니다.)