Getting an error while converting Tibble to h2o hex file

356 Views Asked by At

I am running the h2o package in Rstudio, I am getting an error while converting Tibble into h2o.

Below is my code

#Augment Time Series Signature
PO_Data_aug = PO_Data %>%
  tk_augment_timeseries_signature()

PO_Data_aug


# Split into training, validation and test sets
train_tbl = PO_Data_aug %>% filter(Date <= '2017-12-29')
valid_tbl = PO_Data_aug %>% filter(Date>'2017-12-29'& Date <='2018-03-31')
test_tbl  = PO_Data_aug %>% filter(Date > '2018-03-31')
str(train_tbl)
train_tbl$month.lbl<-as.character(train_tbl$month.lbl)

h2o.init()        # Fire up h2o

##hex
train_h2o = as.h2o(train_tbl)
valid_h2o = as.h2o(valid_tbl)
test_h2o  = as.h2o(test_tbl)



ERROR: Unexpected HTTP Status code: 412 Precondition Failed (url = http://localhost:54321/3/Parse)



ERROR MESSAGE:

Provided column type ordered is unknown.  Cannot proceed with parse due to invalid argument.

Kindly Suggest

2

There are 2 best solutions below

0
On

This is actually a bug in H2O -- it has nothing to do with tibbles. There is no support for the "ordered" column type in data.frames or tibbles. We will fix this (ticket here).

The work-around right now is to manually convert your "ordered" columns into un-ordered "factor" columns.

tb <- tibble(x = ordered(c(1,2,3)), y = 1:3)
tb$x <- factor(tb$x, ordered = FALSE)
hf <- as.h2o(tb)
0
On

as.h2o() expects an R dataframe. You could use an R dataframe instead of your tibble dataframe or as Tom mentioned in the comments you could use one of the supported file formats for H2O.

train_h2o = as.h2o(as_data_frame(train_tbl))
valid_h2o = as.h2o(as_data_frame(valid_tbl))
test_h2o  = as.h2o(as_data_frame(test_tbl))