In meinem Projekt verwende ich den maschinellen Lernalgorithmus von h2o. Während ich das Zugdatum nicht lade. Ich benutze die folgenden Möglichkeiten.
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)
Der 11111 wurde ausgegeben, dann wird das Programm ausgeführt und nicht gestoppt
11111
andere Weise
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
der Fehler
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)
Antworten:
0 für die Antwort № 1Um Daten als H2O-Frame in Scala zu laden, gehen Sie wie folgt vor:
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")))
Sobald die Daten geladen sind, sehen Sie den Datenrahmen wie folgt:
scala> irisData
res1: water.fvec.H2OFrame =
Frame key: iris.hex
cols: 5
rows: 150
chunks: 1
size: 2454
Sobald Sie den Datenrahmen aufgenommen haben, können Sie damit ein Modell erstellen. Wenn Sie nach einem Beispiel für die Verwendung der H2O-Bibliothek in Scala suchen, können Sie nach diesem Blog suchen vollständiges Scala-basiertes Deep-Learning-Beispiel in H2O.