gpt4 book ai didi

scala - Scala 中的海灵格距离

转载 作者:行者123 更新时间:2023-11-30 09:32:06 24 4
gpt4 key购买 nike

给定 2 Array[Double]其中包含离散概率分布,我如何实现 Hellinger Distance在斯卡拉?

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


}

我正在尝试使用scala.math.sqrt函数,但它只适用于单个 Double而不是Array 。我习惯了Python的pairwise metrics ,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 - Scala 中的海灵格距离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53739501/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com