无法将数据框转换为标记点

Can't convert Dataframe to Labeled Point

我的程序使用 Spark.ML,我在数据帧上使用逻辑回归。但是我也想使用 LogisticRegressionWithLBFGS,所以我想将我的数据帧转换为 LabeledPoint。

下面的代码报错

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")))))

错误:

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

所以我将 SparseVector 更改为 DenseVector 但它不起作用:

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

您是否尝试过使用 org.apache.spark.mllib.linalg.Vectors.fromML?

注意:此答案是从评论中复制粘贴以允许其关闭。