Comment mapper un RDD de classe cas LabeledPoint (étiquette, vecteur caractéristique)

voix
27

Comment mapper un RDD de classe affaire LabeledPoint (étiquette, vecteur caractéristique).

Ceci est la RDD de classe de cas d'examen (x: Double, y: Double):

Ds (1.0,6.0)

Ds (2.0,8.0)

Ds (3.0,10.0)

Ds (3.0,10.0)

ds (4.0,12.0)

Ds (5.0,14.0)

J'ai essayé de faire cela -

     val parsedData = aRDD.map(row =>
     new LabeledPoint(
     row._1,
     Vectors.dense(row._2))

Obtenir erreur « valeur _1 est pas membre de main.scala.spark.Q1Partb.Q1.Exam » à row._1 et row._2

et ça -

          val parsedData = aRDD.map{line => 
          val Array(rawLabel, rawfeatures) = line.split(',')
          val features = rawfeatures) .split(' ').map(_.toDouble)
          LabeledPoint(rawLabel.toDouble, Vectors.dense(features))}

Obtenir erreur « valeur récursive x 4 $ besoins de type » pour rawLabel et « split valeur est pas membre de main.scala.spark.Q1Partb.Q1.ds » pour line.split ( « »)

Créé 03/05/2017 à 22:53
utilisateur
Dans d'autres langues...                            


2 réponses

voix
1

Si vous avez un RDD [l'examen], vous devriez être en mesure d'écrire

val parsedData = aRDD.map(exam => LabeledPoint(exam.x, Vectors.dense(exam.y))
Créé 04/05/2017 à 04:59
source utilisateur

voix
1

J'ai eu ce problème parce que mon nom de la variable a été prise par une fonction.

Alors private val Seq(transaction, transaction2) = insertTx(...

devenu

private val Seq(transaction1, transaction2) = insertTx(...

avec la transaction étant le coupable.

Créé 09/08/2017 à 20:15
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more