2017-08-25 1 views
0

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 
+2

haben Sie versucht, stattdessen org.apache.spark.mllib.linalg.Vectors.fromML zu verwenden? –

+0

Arbeitete perfekt, danke! – Tiffany

+0

@MichelLemay bitte beantworten Sie die Frage unten :) –

Antwort

0

Haben Sie versucht, stattdessen org.apache.spark.mllib.linalg.Vectors.fromML zu verwenden?

Hinweis: Diese Antwort ist eine Kopie einfügen aus den Kommentaren, damit es geschlossen werden kann.

Verwandte Themen