Wie konvertiert man von org.apache.spark.mllib.linalg.SparseVector
zu org.apache.spark.ml.linalg.SparseVector
?Wie konvertiert man aus org.apache.spark.mllib.linalg.SparseVector in org.apache.spark.ml.linalg.SparseVector?
Ich konvertiere den Code von mllib
in die API.
import org.apache.spark.mllib.linalg.{DenseVector, Vector}
import org.apache.spark.ml.linalg.{DenseVector => NewDenseVector, Vector => NewVector}
import org.apache.spark.mllib.regression.LabeledPoint
import org.apache.spark.ml.feature.{LabeledPoint => NewLabeledPoint}
val labelPointData = limitedTable.rdd.map { row =>
new NewLabeledPoint(convertToDouble(row.head), row(1).asInstanceOf[org.apache.spark.ml.linalg.SparseVector])
}
Anweisung row(1).asInstanceOf[org.apache.spark.ml.linalg.SparseVector]
wird aufgrund der folgenden Ausnahme nicht funktioniert:
org.apache.spark.mllib.linalg.SparseVector cannot be cast to org.apache.spark.ml.linalg.SparseVector
Wie das überwinden?
Ich habe Code-Konvertierung von mllib
zu gefunden, aber nicht umgekehrt.