0
votes

My program uses Spark.ML, I use logistic regression on dataframes. However I would like to use LogisticRegressionWithLBFGS too so I want to convert my dataframe into LabeledPoint.

The following code gives me an error

val model = new LogisticRegressionWithLBFGS().run(dff3.rdd.map(row=>LabeledPoint(row.getAs[Double]("label"),org.apache.spark.mllib.linalg.SparseVector.fromML(row.getAs[org.apache.spark.ml.linalg.SparseVector]("features")))))

Error :

org.apache.spark.ml.linalg.DenseVector cannot be cast to org.apache.spark.ml.linalg.SparseVector

So I changed SparseVector to DenseVector but it doesn't work :

org.apache.spark.ml.linalg.SparseVector cannot be cast to org.apache.spark.ml.linalg.DenseVector
1
have you tried to use org.apache.spark.mllib.linalg.Vectors.fromML instead? - Michel Lemay
Worked perfectly, thank you ! - Tiffany
@MichelLemay please answer the question below :) - Ramesh Maharjan

1 Answers

0
votes

Have you tried to use org.apache.spark.mllib.linalg.Vectors.fromML instead?

Note: This answer is a copy paste from the comments to allow it to be closed.