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 № 1Aby 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.