我在一个大型数据集(800 万行和 10 列)上使用 H2O。我使用 h2o.randomForest 训练了 randomForest。该模型训练良好,预测也正确。现在我想将我的预测转换为 data.frame。我这样做了:
A2=h2o.predict(m1,Tr15_h2o)
pred2=as.data.frame(A2)
但是太慢了,需要很长时间。有没有更快的方法可以将 H2o 转换为 data.frame 或 data.table?
最佳答案
这里有一些代码演示了如何在后端使用 data.table 包,以及我的 MacBook 上的一些基准测试:
library(h2o)
h2o.init(nthreads = -1, max_mem_size = "16G")
hf <- h2o.createFrame(rows = 10000000)
options("h2o.use.data.table"=FALSE) #no data.table
system.time(df <- as.data.frame(hf))
# user system elapsed
# 224.387 13.274 272.252
options("datatable.verbose"=TRUE)
options("h2o.use.data.table"=TRUE) # use data.table
system.time(df2 <- as.data.frame(hf))
# user system elapsed
# 50.686 4.020 82.946
如果您打开此选项,则在使用 data.table 时可以获得更详细的信息:options("datatable.verbose"=TRUE)
。
关于performance - 如何快速将我的 H2O 预测转换为 data.frame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42865609/