Jak mapować RDD klasy sprawy do LabeledPoint (etykieta, funkcja wektor)

głosy
27

Jak mapować RDD klasy sprawę do LabeledPoint (etykieta, wektor cech).

Jest to przypadek RDD klasy egzaminu (x: Podwójne, 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)

Próbowaliśmy to robić -

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

Uzyskiwanie błąd „wartość _1 nie jest członkiem main.scala.spark.Q1Partb.Q1.Exam” w row._1 i row._2

i to -

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

Uzyskiwanie błąd „wartość rekurencyjne x $ 4 dla potrzeb typu” rawLabel i „wartość podziału nie jest członkiem main.scala.spark.Q1Partb.Q1.ds” dla line.split ( „”)

Utwórz 03/05/2017 o 22:53
użytkownik
W innych językach...                            


2 odpowiedzi

głosy
1

Jeśli masz RDD [EXAM] powinien być w stanie napisać

val parsedData = aRDD.map(exam => LabeledPoint(exam.x, Vectors.dense(exam.y))
Odpowiedział 04/05/2017 o 04:59
źródło użytkownik

głosy
1

Miałem ten problem, ponieważ moja nazwa zmiennej została podjęta przez funkcję.

Więc private val Seq(transaction, transaction2) = insertTx(...

stał

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

z transakcjami jest winowajcą.

Odpowiedział 09/08/2017 o 20:15
źródło użytkownik

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