Расстояние Хеллингера в Скале - PullRequest
0 голосов
/ 12 декабря 2018

Учитывая 2 Array[Double], который содержит дискретные распределения вероятностей, как мне реализовать Расстояние Хеллингера в Scala?

def hellingerSimilarity(a1: Array[Double], a2: Array[Double]): Double = {


}

Я пытаюсь использовать функцию scala.math.sqrt, но онаработает только для одного Double, а не для Array.Я привык к парным метрикам Python , есть ли подобная библиотека в Scala / Spark?

1 Ответ

0 голосов
/ 12 декабря 2018

Ниже приведена только математическая формула в коде scala:

def hellingerSimilarity(a1: Array[Double], a2: Array[Double]): Double = {
  val tupleSum = a1.zip(a2).map(x => pow(sqrt(x._1) - sqrt(x._2),2)).reduce(_+_)
  (1/sqrt(2)) * sqrt(tupleSum)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...