Mein Programm verwendet Spark.ML, ich benutze logistische Regression auf Datenrahmen. Ich möchte aber auch LogisticRegressionWithLBFGS verwenden, um meinen Datenrahmen in LabeledPoint zu konvertieren.Kann Dataframe nicht in markierten Punkt konvertieren
Der folgende Code gibt mir einen Fehler
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")))))
Fehler:
org.apache.spark.ml.linalg.DenseVector cannot be cast to org.apache.spark.ml.linalg.SparseVector
Also änderte ich sparsevector zu DenseVector, aber es funktioniert nicht:
org.apache.spark.ml.linalg.SparseVector cannot be cast to org.apache.spark.ml.linalg.DenseVector
haben Sie versucht, stattdessen org.apache.spark.mllib.linalg.Vectors.fromML zu verwenden? –
Arbeitete perfekt, danke! – Tiffany
@MichelLemay bitte beantworten Sie die Frage unten :) –