В моем проблемном наборе данных переменная ответа сильно смещена влево. Я попытался подогнать модель под h2o.randomForest()
и h2o.gbm()
, как показано ниже. Я могу задать настройки min_split_improvement
и min_rows
, чтобы избежать переобучения в этих двух случаях. Но с этими моделями я вижу очень большие ошибки в наблюдениях за хвостом. Я пытался использовать weights_column
для избыточной выборки хвостовых наблюдений и недостаточной выборки других наблюдений, но это не помогает.
h2o.model <- h2o.gbm(x = predictors, y = response, training_frame = train,valid = valid, seed = 1,
ntrees =150, max_depth = 10, min_rows = 2, model_id = "GBM_DD", balance_classes = T, nbins = 20, stopping_metric = "MSE",
stopping_rounds = 10, min_split_improvement = 0.0005)
h2o.model <- h2o.randomForest(x = predictors, y = response, training_frame = train,valid = valid, seed = 1,ntrees =150, max_depth = 10, min_rows = 2, model_id = "DRF_DD", balance_classes = T, nbins = 20, stopping_metric = "MSE",
stopping_rounds = 10, min_split_improvement = 0.0005)
Я попробовал функцию h2o.automl()
пакета h2o для решения проблемы для лучшей производительности. Однако я вижу значительное переоснащение. Я не знаю никаких параметров в h2o.automl()
для управления переоснащением.
Кто-нибудь знает, как избежать переобучения с помощью h2o.automl()
?
ИЗМЕНИТЬ
Распределение преобразованного ответа log
приведено ниже. После предложения Эрин
EDIT2: Распространение исходного ответа.
BoxCoxTrans
, которая может помочь с асимметрией. - person missuse   schedule 19.01.2018