2015-07-15 13 views
7

Tôi đang chạy gói h2o trong Phiên bản Rstudio 0.99.447. Tôi chạy phiên bản OSX 10.9.5.Không thể chuyển đổi khung dữ liệu thành đối tượng h2o

tôi muốn thiết lập một cụm địa phương trong R, làm theo các bước hướng dẫn này: http://blenditbayes.blogspot.co.uk/2014/07/things-to-try-after-user-part-1-deep.html

Bước đầu tiên dường như không phải là một vấn đề. Điều gì dường như là một vấn đề đang chuyển đổi khung dữ liệu của tôi thành một đối tượng h2o thích hợp.

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 

Những tuyên bố trên as.h2o kết quả trong thông báo lỗi sau

Error in as.h2o(localH2O, dat, key = "dat") : 
unused argument (key = "dat") 

Nếu tôi loại bỏ các "chìa khóa" tham số, cho phép các dữ liệu cư trú tại các cửa hàng giá trị khóa H2O dưới một cỗ máy được tạo ra tên, thông báo lỗi sau xuất hiện.

Error in .h2o.doSafeREST(conn = conn, h2oRestApiVersion = h2oRestApiVersion, 
Unexpected CURL error: Empty reply from server 

This câu hỏi yêu cầu cùng một điều như tôi, nhưng giải pháp đưa tôi đến cùng một lỗi.

Có ai có kinh nghiệm về sự cố này không? Tôi không hoàn toàn chắc chắn làm thế nào để tiếp cận điều này.

Trả lời

9

Cú pháp để nhập khung từ R vào H2O đã thay đổi kể từ lần phát hành ổn định cuối cùng của H2O-Classic và bản phát hành ổn định mới nhất của H2O-3.0. Tôi tin rằng bạn đã sử dụng bản phát hành H2O-3.0 có nghĩa là một số đối số trong các hàm đã thay đổi, đối số "khóa" mơ hồ đã được thay đổi thành "destination_frame".

H2O-3.0 sẽ hoạt động khác nhau ở chỗ nó sẽ lưu ý rằng 5 cột đầu tiên được đặt hàng các yếu tố trong khung dữ liệu R; và tại thời điểm này, chúng tôi không có cách bảo quản đơn đặt hàng cho các cột phân loại. Tuy nhiên, để tái tạo các kết quả tương tự như kết quả được đăng trên http://blenditbayes.blogspot.co.uk/2014/07/things-to-try-after-user-part-1-deep.html, bạn sẽ phải viết khung vào đĩa dưới dạng CSV và nhập nó vào 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") 

Đối data.frames R mà không đã ra lệnh cột yếu tố bạn chỉ có thể sử dụng h2o_frame <- as.h2o(object = df) nơi class(df) là một data.frame.

+0

Đây có phải là giải pháp "hiện tại" không? –

+1

thử nghiệm trên h2o v3.8, bạn không cần phải chỉ định destination_frame trong h2o.importFile() – yingw

+2

Chúng cần sửa lỗi này. Tôi đang sử dụng phiên bản 3.10.0.2 và 'as.h2o' vẫn bị hỏng cho các yếu tố đặt hàng. –

0

Tôi cũng đang đối mặt với cùng một vấn đề. Trong trường hợp của tôi vấn đề biến JAVA_HOME env trên Mac OSX mavericks trỏ đến phiên bản java cũ 6. Giải pháp của tôi là trên h2o nhóm google stream here

0

Khung dữ liệu BreastCancer có 5 ord.factors và 5 yếu tố. Như Amy Wang đã viết, bạn phải chuyển đổi các yếu tố thành số. Nếu bạn không muốn ghi dữ liệu vào đĩa và sau đó đọc lại dữ liệu bạn có thể chuyển đổi chúng bằng sapply().

## Format data with no factor 
data(BreastCancer, package = 'mlbench') # Load data from mlbench package 
dat <- BreastCancer[, -1] # Remove the ID column 
dat[, c(1:ncol(dat))] <- sapply(dat[, c(1:ncol(dat))], as.numeric) # Convert factors into numeric 



## Start a local cluster with default parameters 
library(h2o) 
localH2O <- h2o.init(ip = "localhost", port = 54321, startH2O = TRUE) 

## Convert Breast Cancer into H2O 
dat.h2o <- as.h2o(dat, destination_frame = "midata") 
0

Bạn nên thử:

dat_h2o <- as.h2o(dat) 

Hoặc:

dat <- as.data.frame(dat) 
dat_h2o <- as.h2o(dat) 

Hope this helps!

Các vấn đề liên quan