我正在使用R中包含42,457行和785列的數據集。第一列是二進制響應變量(稱爲label
),其餘列是二進制功能。H2O數據框中的列限制?
我試圖使用rsparkling
(描述爲here)來擬合邏輯迴歸模型,但得到錯誤。我將其追溯到將表格的Spark版本轉換爲H2O數據框架的步驟。
這裏是我用來測試的功能。的Spark實例sc
啓動並運行和df
是原始數據設置爲一個標準的R數據幀:
load_h2o <- function(df, rows = nrow(df), cols = ncol(df)) {
df <- df[1:rows, 1:cols]
copy_to(sc, df, "df", overwrite = TRUE)
df_tbl <- tbl(sc, "df")
h2o_tbl <- as_h2o_frame(sc, df_tbl, strict_version_check=FALSE)
return(h2o_tbl)
}
的df$label
頭是1 1 1 0 0 0
。然而,如果我加載完整的數據集,即load_h2o(raw_data)
,得到的label
列的頭部是0 0 0 0 0 0
;事實上,H2O數據幀中的所有值都是0.如果我將列數限制爲200(即load_h2o(raw_data, cols = 200)
),那麼生成的H2O數據幀包含所有預期的數據。如果cols = 201
,我們回到全零。
最後,如果我從h2o::h2o.importFile
直接從磁盤加載數據集,那麼完整的數據集就會毫無問題地出現,而且我能夠適應邏輯迴歸。不過,我希望能夠從R數據框中加載它,以便在包中分發對象。
此工作流程的最大列數是否有限制?