Как запустить дерево решений Spark с категориальным набором функций, используя Scala?

У меня есть набор функций с соответствующей категориейFeaturesInfo: Map [Int, Int]. Однако я не могу понять, как заставить класс DecisionTree работать. Он не будет принимать ничего, кроме LabeledPoint в качестве данных. Однако LabeledPoint требует (double, vector), где вектор требует удваивается.

val LP = featureSet.map(x => LabeledPoint(classMap(x(0)),Vectors.dense(x.tail)))

// Run training algorithm to build the model
val maxDepth: Int = 3
val isMulticlassWithCategoricalFeatures: Boolean = true
val numClassesForClassification: Int = countPossibilities(labelCol) 
val model = DecisionTree.train(LP, Classification, Gini, isMulticlassWithCategoricalFeatures, maxDepth, numClassesForClassification,categoricalFeaturesInfo)

Ошибка, которую я получаю:

scala> val LP = featureSet.map(x => LabeledPoint(classMap(x(0)),Vectors.dense(x.tail)))
<console>:32: error: overloaded method value dense with alternatives:
  (values: Array[Double])org.apache.spark.mllib.linalg.Vector <and>
  (firstValue: Double,otherValues: Double*)org.apache.spark.mllib.linalg.Vector
 cannot be applied to (Array[String])
       val LP = featureSet.map(x => LabeledPoint(classMap(x(0)),Vectors.dense(x.tail)))

Мои ресурсы на данный момент:конфиг дерева, Древо решений, labeledpoint

Ответы на вопрос(3)

Ваш ответ на вопрос