无法将数据框转换为h2o对象

Bou*_*man 9 r dataframe h2o

我在Rstudio版本0.99.447中运行h2o包.我运行版本10.9.5 OSX.

我想按照本教程的步骤在R中设置一个本地集群:http://blenditbayes.blogspot.co.uk/2014/07/things-to-try-after-user-part-1-deep html的

第一步似乎不是问题.似乎是一个问题是将我的数据框转换为适当的h2o对象.

library(mlbench)
dat = BreastCancer[,-1] #reading in data set from mlbench package

library(h2o)
localH2O <- h2o.init(ip = "localhost", port = 54321, startH2O = TRUE) #sets up the cluster
dat_h2o <- as.h2o(localH2O, dat, key = 'dat') #this returns an error message
Run Code Online (Sandbox Code Playgroud)

上面的语句as.h2o导致以下错误消息

Error in as.h2o(localH2O, dat, key = "dat") : 
unused argument (key = "dat")
Run Code Online (Sandbox Code Playgroud)

如果我删除"key"参数,让数据驻留在机器生成的名称下的H2O键值存储中,则会出现以下错误消息.

Error in .h2o.doSafeREST(conn = conn, h2oRestApiVersion = h2oRestApiVersion,  
Unexpected CURL error: Empty reply from server
Run Code Online (Sandbox Code Playgroud)

这个问题和我一样,但是解决方案让我遇到了同样的错误.

有没有人有这个问题的经验?我不完全确定如何处理这个问题.

小智 11

自从H2O-Classic的最后稳定版本和H2O-3.0的最新稳定版本发布以来,将框架从R导入H2O的语法已经发生了变化.我相信你使用了H2O-3.0版本,这意味着函数中的一些参数已经改变,模糊的"关键"参数已经改为"destination_frame".

H2O-3.0的行为会有所不同,因为它会注意到前5列是R数据帧中的有序因子; 目前我们没有办法保留分类列的订单.但是,要重现与http://blenditbayes.blogspot.co.uk/2014/07/things-to-try-after-user-part-1-deep.html上发布的结果相同的结果,您将不得不现在将帧作为CSV写入磁盘并将其导入H2O.

library(mlbench)
dat = BreastCancer[,-1] #reading in data set from mlbench package

library(h2o)
localH2O <- h2o.init(ip = "localhost", port = 54321, startH2O = TRUE)

#dat_h2o <- as.h2o(dat, destination_frame = 'dat') 
## Will return a "Provided column type c("ordered", "enum") is unknown." error

pathToData <- paste0(normalizePath("~/Downloads/"), "/dat.csv")
write.table(x = dat, file = pathToData, row.names = F, col.names = T)
dat_h2o <- h2o.importFile(path = pathToData, destination_frame = "dat")
Run Code Online (Sandbox Code Playgroud)

对于没有有序因子列的R data.frames,您可以简单地使用h2o_frame <- as.h2o(object = df)where class(df)a a data.frame.

  • 他们需要解决这个问题.我在版本3.10.0.2,并且`as.h2o`仍然因有序因素而被破坏. (2认同)