Ошибка: значение returnAt не является членом org. apache .spark.mllib.evaluation.RankingMetrics [Double] - PullRequest
0 голосов
/ 07 марта 2020

Я хочу вычислить recall@25 и F1-score@25, используя метрики ранжирования.

val predictionAndLabels = predicted.
    select($"prediction",$"label")
    .as[(Double, Double)]
val Arr = predictionAndLabels.rdd.map(x => (Array(x._1),Array(x._2)))
val matrix = new RankingMetrics(Arr)
Array(1, 25).foreach { k =>
  println(s"Recall at $k = ${matrix.recallAt(k)}")
}
      Array(1, 25).foreach { k =>
  println(s"F1-score at $k = ${matrix.F1scoreAt(k)}")
}

Ошибка:

значение отзыва. Не является членом организации. apache .spark.mllib.evaluation.RankingMetrics [Double]

Как ее решить?

1 Ответ

0 голосов
/ 07 марта 2020

Я думаю, * метод 1001 * не был определен в Spark 2.0.2, который можно увидеть здесь :

@Since("3.0.0")           // note this, it was defined at spark 3.0.0
  def recallAt(k: Int): Double = {
    require(k > 0, "ranking position k should be positive")
    predictionAndLabels.map { case (pred, lab) =>
      countRelevantItemRatio(pred, lab, k, lab.toSet.size)
    }.mean()
  }

Вы можете использовать эту документацию для рассчитать отзыв и Fscore для искры 2.0.2

Дайте мне знать, если это поможет !!

...