В библиотеку H2O добавлена новая полезная возможность - автоматизированное создание и выбор моделей. Документацию можно найти по ссылке, а ниже представлен минималистичный пример. Используем набор данных об энергоэффективности из книги Машинное обучение с использованием библиотеки Н2О и сравним свой результат с полученным в этой книге при ручном выборе оптимальных моделей:
library(h2o)
h2o.init()
data <- h2o.importFile("https://raw.githubusercontent.com/DarrenCook/h2o/bk/datasets/ENB2012_data.csv")
factorsList <- c("X6", "X8")
data[, factorsList] <- as.factor(data[, factorsList])
splits <- h2o.splitFrame(data, 0.8)
train <- splits[[1]]
test <- splits[[2]]
x <- c("X1", "X2", "X3", "X4", "X5", "X6", "X7", "X8")
y <- "Y2"
automl_h2o_models <- h2o.automl(
x = x,
y = y,
training_frame = train,
leaderboard_frame = test
)
automl_h2o_models@leader
# Model Details:
# ==============
#
# H2ORegressionModel: stackedensemble
# Model ID: StackedEnsemble_BestOfFamily_0_AutoML_20180114_191230
# NULL
#
#
# H2ORegressionMetrics: stackedensemble
# ** Reported on training data. **
#
# MSE: 0.1610015
# RMSE: 0.4012499
# MAE: 0.2853584
# RMSLE: 0.01384588
# Mean Residual Deviance : 0.1610015
#
#
# H2ORegressionMetrics: stackedensemble
# ** Reported on validation data. **
#
# MSE: 1.091391
# RMSE: 1.044696
# MAE: 0.7183838
# RMSLE: 0.03434503
# Mean Residual Deviance : 1.091391
#
#
# H2ORegressionMetrics: stackedensemble
# ** Reported on cross-validation data. **
# ** 5-fold cross-validation on training data (Metrics computed for combined holdout predictions) **
#
# MSE: 1.757956
# RMSE: 1.325879
# MAE: 0.8673
# RMSLE: 0.0396968
# Mean Residual Deviance : 1.757956
Как видим, без малейших усилий был получен вполне достойный результат. Для маленьких наборов данных этот функционал весьма полезен, да и для больших можно ставить эксперименты на части данных для лучшего понимания, что и куда в настройках дальше крутить руками.
Комментариев нет:
Отправить комментарий