H2o包

时间:2017-04-20 09:37:04

标签: r random-forest h2o

当我使用H2o包运行随机林模型时出现以下错误。

  

错误:来自localhost / 127.0.0.1:532321的DistributedException,由   java.lang.IllegalArgumentException:字符串上不允许操作   矢量。

我运行的代码如下: -

fit = h2o.randomForest(x = indep, y = dep, training_frame = QCAnalysis_sub_h2o, seed = 1234, ntrees = 500, mtries = 3, max_depth = 50)

请澄清错误。

2 个答案:

答案 0 :(得分:2)

确保class(QCAnalysis_sub_h2o)是&#34; H2OFrame&#34;并且您的indep向量不包含任何字符串列。另请注意,使用as.h2o()将R data.frame转换为H2O帧时,它会保留列类型,因此不会自动将任何字符串列转换为因子。您需要使用每列上的as.factor()功能自动执行此操作(例如df[,"mycol"] <- as.factor(df[,"mycol"])。您可以在复制到H2O之前在R data.frame上执行此操作,或者可以在列在H2O框架中时修复列。

如果您使用h2o.importFile()命令将CSV文件从磁盘直接读入H2O,它会默认将包含字符串的任何列转换为因子,因此我假设您可能将此帧复制到R < / p>

答案 1 :(得分:0)

一些示例代码:

QCAnalysis_sub_h2o <- h2o.importFile(path = normalizePath("QCAnalysis_sub_h2o.csv"),header=T)

(如果没有,请使用as.data.frame指定数据框)

x和y应该说明你希望h2o.randomforest读取的列