/ / W h2o.ai, jak załadować dane pociągu w Javie lub Scali? - Java, Scala, H2O

W h2o.ai, jak załadować dane pociągu w java lub scala? - java, scala, h2o

W moim projekcie użyję algorytmu uczenia maszynowego h2o. Nie ładuję daty pociągu. Używam następujących sposobów.

 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 został wyprowadzony, a następnie program będzie działał, a nie zatrzyma się

 11111

inny sposób

 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

błąd

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)

Odpowiedzi:

0 dla odpowiedzi № 1

Aby załadować dane do Scali jako ramki H2O, możesz wykonać następujące czynności:

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")))

Po załadowaniu danych możesz zobaczyć ramkę danych jak poniżej:

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

Po przyjęciu ramki danych możesz z niej zbudować model. Jeśli szukasz próbki użycia biblioteki H2O w Scali, możesz poszukać tego bloga kompletna, oparta na Scali próbka dogłębnego uczenia się w H2O.