gpt4 book ai didi

java - 我应该如何在Java中实现马氏距离函数?

转载 作者:太空宇宙 更新时间:2023-11-04 08:10:16 25 4
gpt4 key购买 nike

我正在使用 java 开发一个项目,并且有两个 2d int 数组,均为 10x15。我想转换Mahalanobis distance它们之间。它们沿着数组的 x 轴(大小 10)按类别分组。我知道您必须找到这些组中的平均值并重新分布数据以使其居中。我现在的问题是生成计算所需的协方差矩阵。如果有人知道执行此操作的好方法或指出可以指导我完成 3D 过程的有用指南,那将是一个很大的帮助。谢谢。

最佳答案

一个covariance矩阵包含任意两个变量之间的预期关系。给定 vector x的统计分布,统计平均值avg:

covariance(i,j) = expected value of [ (x[i] - avg[i])(x[j] - avg[j]) ]

给定一组 N 个 vector v_1 ... v_N,以及平均 vector avg,您可以估计它们所取分布的协方差,如下所示:

sample_covariance(i,j) = sum[for k=1..N]( (v_k[i] - avg[i])*(v_k[j] - avg[j]) ) / (N-1)

最后一个是您正在寻找的协方差矩阵。我建议您还阅读上面的 wiki 链接。

关于java - 我应该如何在Java中实现马氏距离函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11351455/

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