Scala中的Hellinger距离

Scala中的Hellinger距离,scala,math,machine-learning,Scala,Math,Machine Learning,给定包含离散概率分布的2Array[Double],如何在Scala中实现 def hellingerSimilarity(a1: Array[Double], a2: Array[Double]): Double = { } 我试图使用scala.math.sqrt函数,但它只适用于单个Double而不适用于数组。我已经习惯了Python,Scala/Spark中是否有类似的库?下面是Scala代码中的数学公式: def hellingerSimilarity(a1: Array[Dou

给定包含离散概率分布的2
Array[Double]
,如何在Scala中实现

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


}

我试图使用
scala.math.sqrt
函数,但它只适用于单个
Double
而不适用于
数组。我已经习惯了Python,Scala/Spark中是否有类似的库?

下面是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)
}

下面是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)
}