2017-12-12 3 views
1

h2o 패키지를 사용하여 다른 정규화 매개 변수 (알파, 람다)를 사용하여 GLM 모델에서 앙상블을 작성합니다. 내가 문서 다음, 앙상블을 구축 할 때 : [email protected]_ids 그리드 검색에서 모델입니다h2o에서 앙상블 - 누락 모델

ensemble <- h2o.stackedEnsemble(x = predictors, 
           y = response, 
           training_frame = train, 
           model_id = "ensemble", 
           base_models = list([email protected]_ids)) 

는 GLM을위한 최적의 alphalambda 정규화 매개 변수를 확인합니다. 다음 오류가 표시됩니다.

When creating a StackedEnsemble you must specify one or more models; 24 were specified but none of those were found: [list("glm_grid_model_6", glm_grid_model_11, glm_grid_model_7, glm_grid_model_9, glm_grid_model_2, glm_grid_model_21, glm_grid_model_15, glm_grid_model_0"] 

문제점이 무엇인지 압니까?

편집 : 문서 다음 시도하고 하나에 유비 코드를 사용 :

gbm_grid <- h2o.grid(algorithm = "gbm", 
        grid_id = "gbm_grid_binomial", 
        x = x, 
        y = y, 
        training_frame = train, 
        ntrees = 10, 
        seed = 1, 
        nfolds = nfolds, 
        fold_assignment = "Modulo", 
        keep_cross_validation_predictions = TRUE, 
        hyper_params = hyper_params, 
        search_criteria = search_criteria) 

# Train a stacked ensemble using the GBM grid 
ensemble <- h2o.stackedEnsemble(x = x, 
           y = y, 
           training_frame = train, 
           model_id = "ensemble_gbm_grid_binomial", 
           base_models = [email protected]_ids) 

그리고 @Erin LeDell에 따라

내가 추가 list()을 제거하고 작동합니다. 그러나, 내가 궁극적으로 어떻게하고 싶은 것은 다양한 모델에서 그리드를 사용하는 것입니다, 그래서 뭔가 같은 :

ensemble <- h2o.stackedEnsemble(x = x, 
           y = y, 
           training_frame = train, 
           model_id = "my_ensemble_binomial", 
           base_models = list(my_gbm, my_rf)) 

EDIT2 :

사용하여 해결 :

model_list <- as.list(c([email protected]_ids, 
         [email protected]_ids)) 


ensemble <- h2o.stackedEnsemble(x = predictors, 
           y = response, 
           training_frame = train, 
           model_id = "ensemble1231", 
           base_models = model_list) 
+1

'glm_grid'를 생성하는 데 사용 된 코드와'list (glm_grid @ model_ids)'의 결과를 게시하십시오. 또한보고 한 오류 메시지에 따옴표 (")가있는 것 같습니다. – desertnaut

답변

1

당신은 여분이 list()은 여기에 필요하지 않은 [email protected]_ids을 감쌌으며 아마도 오류의 원인 일 수 있습니다. [email protected]_ids 개체는 이미 목록입니다. 대신이 작업을 수행합니다 :

ensemble <- h2o.stackedEnsemble(x = predictors, 
           y = response, 
           training_frame = train, 
           model_id = "ensemble", 
           base_models = [email protected]_ids) 

은 자세한 내용은 R 예 here를 참조하십시오.

+0

나는 [this] (https://gist.github.com/ledell/102a24eef72bdc4ea2cd876492095684)와 유사하게 처리하려고 시도했으나 – abu

+0

정답을 찾으면 받아 들일 수 있습니까? –

관련 문제