Utilizzo MLlib di Apache-Spark e Scala. Ho bisogno di convertire un gruppo di vettoreConverti RDD di Vector in LabeledPoint utilizzando Scala - MLLib in Apache Spark
import org.apache.spark.mllib.linalg.{Vector, Vectors}
import org.apache.spark.mllib.regression.LabeledPoint
in un LabeledPoint per applicare gli algoritmi di MLLib
Ogni vettore è composto da doppio valore di 0,0 (false) o 1,0 (true). Tutti i vettori vengono salvati in un RDD, in modo che il finale RDD è di tipo
val data_tmp: org.apache.spark.rdd.RDD[org.apache.spark.mllib.linalg.Vector]
Così, nel RDD ci sono vettori creano con
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)
Come posso creare da questo RDD (data_tmp) o da RowMatrix (dati) un set LabeledPoint per l'utilizzo degli algoritmi MLLib? Per esempio ho bisogno di applicare le SVM algoritmi lineari mostrano here