怎麼把 轉換成org.apache.spark.ml.linalg.SparseVector
?如何轉換org.apache.spark.mllib.linalg.SparseVector至org.apache.spark.ml.linalg.SparseVector?
我將代碼從mllib
轉換爲ml
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])
}
聲明row(1).asInstanceOf[org.apache.spark.ml.linalg.SparseVector]
不工作,因爲以下異常:
org.apache.spark.mllib.linalg.SparseVector cannot be cast to org.apache.spark.ml.linalg.SparseVector
如何克服的?
我發現代碼從mllib
到ml
但不反之亦然轉換。