Как преобразовать файл parquet в формат libsvm? - PullRequest
1 голос
/ 03 февраля 2020

У меня есть файл aparquet (идентификатор, функции). Я хочу преобразовать его в libsvm для применения алгоритма случайного леса. В файле паркета нет поля метки для применения алгоритма.

val data = spark.read.format("parquet").load("file:///usr/local/spark/dataset/data/user")

val splits = data.randomSplit(Array(0.7, 0.3))

    val (trainingData, testData) = (splits(0), splits(1))

    val trainingDf = trainingData.toDF()
    val pca = new PCA()
    .setInputCol("features")
    .setOutputCol("pcaFeatures")
    .setK(2)
    .fit(assembled_df)

    val pcaTrainingData = pca.transform(assembled_df)
val labeled = pca.transform(assembled_df).rdd.map(row => LabeledPoint(
   row.getAs[Double]("label"),   
   row.getAs[org.apache.spark.mllib.linalg.Vector]("pcaFeatures")
))
    val numClasses = 10
    val categoricalFeaturesInfo = Map[Int, Int]()
    val numTrees = 10 // Use more in practice.
    val featureSubsetStrategy = "auto" // Let the algorithm choose.
    val impurity = "gini"
    val maxDepth = 20
    val maxBins = 32

    val model = RandomForest.trainClassifier(labeled, numClasses, categoricalFeaturesInfo,
        numTrees, featureSubsetStrategy, impurity, maxDepth, maxBins)

, но появляется исключение

java .lang.IllegalArgumentException: Поле "метка" не существует.

Любая помощь?

...