我正在使用H2O,在一個大型數據集上,有8百萬行和10列。我使用h2o.randomForest訓練了我的randomForest。該模型訓練良好,預測工作正確。現在我想將我的預測轉換爲data.frame。我這樣做:如何以快速的方式將我的H2O預測轉換爲data.frame
A2=h2o.predict(m1,Tr15_h2o)
pred2=as.data.frame(A2)
但它太慢,需要永遠。有沒有更快的方法來完成從H2o到data.frame或data.table的轉換?
我正在使用H2O,在一個大型數據集上,有8百萬行和10列。我使用h2o.randomForest訓練了我的randomForest。該模型訓練良好,預測工作正確。現在我想將我的預測轉換爲data.frame。我這樣做:如何以快速的方式將我的H2O預測轉換爲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)
。
當輸出到預測數據框或將其轉換爲其他類型需要很長時間時,我們已經看到大型預測數據集的這個問題。我已經打開了以下JIRA現在跟蹤它:
是有一些新的選項中打開使用data.table::fread
加快步伐。鍵入h2o:::as.data.frame.H2OFrame
可查看包含選項或H2O發佈說明的少量R源代碼。請同時嘗試從dev開始的最新fread
,現在平行截至昨天。
一旦用戶報告成功,我們可以默認打開默認打開。
感謝您的快速響應。希望這個也能快速解決。 :) –