将 Spark Dataframe 输入到 DeepLearning4J 模型

Input Spark Dataframe to DeepLearning4J model

我的 spark dataframe (df) 中的数据有 24 个特征,第 25 列是我的目标变量。我想在这个 dataset 上拟合我的 dl4j 模型,它接受 org.nd4j.linalg.api.ndarray.INDArray, org.nd4j.linalg.dataset.Datasetorg.nd4j.linalg.dataset.api.iterator.DataSetIterator 形式的输入。如何将我的 dataframe 转换为所需的类型?

我也尝试过使用 Pipeline 方法将 spark 数据帧直接输入到模型中。但是 dl4j-spark-ml 的 sbt 依赖性不起作用。我的 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" 

有人可以从这里指导我吗?提前致谢。

您可以使用已重新添加 spark.ml 集成的快照。 如果要使用快照,添加oss sonatype仓库: https://github.com/deeplearning4j/dl4j-examples/blob/master/dl4j-examples/pom.xml#L16 撰写本文时的版本是: 0.8.1-快照

不过请使用示例存储库验证最新版本: 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 二进制版本}:0.8.1_spark_${您的 SPARK 版本(1 或 2}-SNAPSHOT