Ich benutze MLlib von Apache-Spark und Scala. Ich braucheRDD von Vector in LabeledPoint mit Scala - MLLib in Apache Spark konvertieren
import org.apache.spark.mllib.linalg.{Vector, Vectors}
import org.apache.spark.mllib.regression.LabeledPoint
in einem LabeledPoint, um eine Gruppe von Vektor zu konvertieren, die Algorithmen von MLLib
Jeder Vektor anzuwenden besteht aus Double-Wert von 0,0 (false) oder 1,0 (true). Alle Vektoren werden in einer RDD gespeichert, so dass die endgültige RDD von der Art ist,
val data_tmp: org.apache.spark.rdd.RDD[org.apache.spark.mllib.linalg.Vector]
Also, in der RDD gibt es Vektoren erzeugen mit
def createArray(values: List[String]) : Vector =
{
var arr : Array[Double] = new Array[Double](tags_table.size)
tags_table.foreach(x => arr(x._2) = if (values.contains(x._1)) 1.0 else 0.0)
val dv: Vector = Vectors.dense(arr)
return dv
}
/*each element of result is a List[String]*/
val data_tmp=result.map(x=> createArray(x._2))
val data: RowMatrix = new RowMatrix(data_tmp)
Wie ich von diesem RDD erstellen (data_tmp) oder aus der RowMatrix (data) ein LabeledPoint-Set zur Verwendung der MLLib-Algorithmen? Zum Beispiel ich brauche die SVM-lineare alghoritms here