我的spark
dataframe
(df)中的数据有24个要素,第25列是我的目标变量。我希望将dl4j
模型放在此dataset
上,该模型以org.nd4j.linalg.api.ndarray.INDArray, org.nd4j.linalg.dataset.Dataset
或org.nd4j.linalg.dataset.api.iterator.DataSetIterator
的形式输入。如何将dataframe
转换为所需类型?
我也尝试过使用Pipeline方法直接向模型输入spark数据帧。但是dl4j-spark-ml的依赖性不起作用。我的build.sbt文件是:
scalaVersion := "2.11.8"
libraryDependencies += "org.deeplearning4j" %% "dl4j-spark-ml" % "0.8.0_spark_2-SNAPSHOT"
libraryDependencies += "org.deeplearning4j" % "deeplearning4j-core" % "0.8.0"
libraryDependencies += "org.nd4j" % "nd4j" % "0.8.0"
libraryDependencies += "org.nd4j" % "nd4j-native-platform" % "0.8.0"
libraryDependencies += "org.nd4j" % "nd4j-backends" % "0.8.0"
libraryDependencies += "org.apache.spark" %% "spark-core" % "2.0.1"
libraryDependencies += "org.apache.spark" %% "spark-sql" % "2.0.1"
有人可以从这里引导我吗?提前致谢。
答案 0 :(得分:0)
您可以使用已读取spark.ml集成的快照。 如果要使用快照,请添加oss sonatype存储库: https://github.com/deeplearning4j/dl4j-examples/blob/master/dl4j-examples/pom.xml#L16 撰写本文时的版本是: 0.8.1-SNAPSHOT
请使用示例repo验证最新版本: https://github.com/deeplearning4j/dl4j-examples/blob/master/pom.xml#L21
你不能混合dl4j的版本。您尝试使用的版本非常已过期(超过一年)。请升级到最新版本。
可以在此处找到新的spark.ml集成示例: https://github.com/deeplearning4j/deeplearning4j/tree/master/deeplearning4j-scaleout/spark/dl4j-spark-ml/src/test/java/org/deeplearning4j/spark/ml/impl
确保添加正确的依赖项,这通常是类似的 org.deeplearning4j:dl4j-spark-ml _ $ {你的SCALA BINARY VERSION}:0.8.1_spark _ $ {你的SPARK VERSION(1或2)-SNAPSHOT