Мне было интересно, есть ли удобный способ обучения нескольких моделей H2O из вложенного фрейма данных в R. Предположим, у нас есть набор данных со следующей структурой, и я хочу обучить одну модель для каждого вида:
dataset(iris)
iris_nested<-iris%>%
dplyr::mutate(dataset=dplyr::if_else(sample(1:nrow(iris))<100,"train","val"))%>%
dplyr::group_by(Species,dataset)%>%
tidyr::nest()%>%
tidyr::pivot_wider(names_from = dataset,values_from = data)
Есть ли способ загрузки и использования набора данных в h2o без построения al oop для разбиения вложенного списка? Я хотел бы избежать шага создания объектов h2o для каждой строки.
Редактировать: Например, чтобы предсказать Sepal.Length с другими входными значениями c, я бы обучил одну модель для строки i с помощью:
library(h2o)
h2o.init()
h2o_train<-as.h2o(iris_nested[["train"]][[i]])
h2o_val<-as.h2o(iris_nested[["val"]][[i]])
h2o_trainedmodel <- h2o.automl(
x = c("Sepal.Width","Petal.Length","Petal.Width"),
y = "Sepal.Length",
training_frame = h2o_train,
leaderboard_frame = h2o_val,
project_name = "run1")
После этого извлеките и сохраните обученную модель и создайте таблицу сопоставления, чтобы я знал, какая модель принадлежит какому виду.