我想知道是否有一种便捷的方法来从R中的嵌套数据框中训练多个h2o模型。假设我们有一个具有以下结构的数据集,我想为每个物种训练一个模型:
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中,而无需建立循环来拆分嵌套列表?我想避免为每一行创建h2o对象的步骤。
编辑:例如,要使用其他数值输入来预测Sepal.Length,我将使用以下代码为第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")
然后,提取并保存经过训练的模型,并生成一个映射表,这样我就知道哪个模型属于哪个物种。
我想知道是否有一种便捷的方法来从R中的嵌套数据框中训练多个h2o模型。假设我们有一个具有以下结构的数据集,我想为每个模型训练一个模型...
使用purrr,您可以将其嵌入到小标题中,但是如果您要进行预测,则可能需要使用map2,这比我想的要复杂得多: