Como mapear uma RDD de classe caso para LabeledPoint (label, recurso vetor)

votos
27

Como mapear uma RDD de classe caso para LabeledPoint (label, recurso vetor).

Este é o RDD de Exame caso classe (x: Duplo, y: Duplo):

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)

Tentei fazer isso -

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

Recebendo erro valor _1 não é membro de main.scala.spark.Q1Partb.Q1.Exam no row._1 e row._2

e isto -

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

Recebendo erro valor recursiva x tipo $ 4 necessidades para rawLabel e valor de divisão não é membro de main.scala.spark.Q1Partb.Q1.ds para line.split ( '')

Publicado 03/05/2017 em 22:53
usuário
Em outras línguas...                            


2 respostas

votos
1

Se você tem um RDD [Exame] você deve ser capaz de escrever

val parsedData = aRDD.map(exam => LabeledPoint(exam.x, Vectors.dense(exam.y))
Respondeu 04/05/2017 em 04:59
fonte usuário

votos
1

Eu tive esse problema porque o meu nome variável foi tomada por uma função.

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

passou a ser

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

com a transação ser o culpado.

Respondeu 09/08/2017 em 20:15
fonte usuário

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