在h2o.ai中,如何在java或scala中加载训练数据?

时间:2017-04-22 07:58:07

标签: java scala h2o

在我的项目中,我将使用h2o的机器学习算法。虽然我没有加载火车日期。 我使用以下方式。

 var f = FileUtils.getFile("D:\\from_2017_2_13\\untitled2\\src\\main\\resources\\extdata\\iris_wheader.csv")
 println(11111)
 var frame = FrameUtils.parseFrame(Key.make("iris_weather.hex"),f)
 println(22222)

输出11111,然后程序将运行,而不是停止

 11111

其他方式

 var f = FileUtils.getFile("D:\\from_2017_2_13\\untitled2\\src\\main\\resources\\extdata\\iris_wheader.csv")
 val parserSetup = H2OFrame.defaultParserSetup()
    parserSetup.setSeparator(',').setCheckHeader(ParseSetup.HAS_HEADER).setNumberColumns(5)
 val f3 = new H2OFrame(parserSetup, f)
    f3

错误

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 65535
 at water.DKV.get(DKV.java:202)
 at water.DKV.get(DKV.java:175)
 at water.parser.ParseSetup.createHexName(ParseSetup.java:594)
 at water.fvec.H2OFrame.<init>(H2OFrame.scala:56)
 at water.fvec.H2OFrame.<init>(H2OFrame.scala:84)

1 个答案:

答案 0 :(得分:0)

要将数据加载到Scala中作为H2O框架,您可以执行以下操作:

import org.apache.spark.h2o._
import water.support.SparkContextSupport.addFiles
import org.apache.spark.SparkFiles
import java.io.File

val hc = H2OContext.getOrCreate(sc)

addFiles(sc, "/Users/avkashchauhan/smalldata/iris/iris.csv")
val irisData = new H2OFrame(new File(SparkFiles.get("iris.csv")))

加载数据后,您可以看到如下数据框:

scala> irisData
res1: water.fvec.H2OFrame =
   Frame key: iris.hex
   cols: 5
   rows: 150
 chunks: 1
   size: 2454

一旦摄取了数据框,就可以使用它构建模型。如果您正在寻找在Scala中使用H2O库的示例,您可以查找full end to end Scala based deep learning sample in H2O的此博客。