gpt4 book ai didi

javascript - 对象/数组比较算法以确定共性/相似性

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:26:18 30 4
gpt4 key购买 nike

我正在尝试找出确定各种对象或数组之间的共性或相似性的最佳方法,并且有兴趣获得社区的意见。我目前正在用 javascript 构建一个早期研究原型(prototype),我需要采用一种巧妙的方式来比较对象,以便识别新出现的模式或趋势。通过识别模式,我正在处理的应用程序将能够做出更明智的决策。

例如给定 6 个简化的对象:

A_obj = {w: 0.66, x: 0.36, y: 0.88, z: 0.34},
B_obj = {w: 0.46, x: 0.29, y: 0.91, z: 0.37},
C_obj = {w: 0.69, x: 0.40, y: 0.95, z: 0.38},
D_obj = {w: 0.78, x: 0.37, y: 0.84, z: 0.43},
E_obj = {w: 0.14, x: 0.41, y: 0.85, z: 0.53},
F_obj = {w: 0.85, x: 0.33, y: 0.96, z: 0.22};

从上面可以看出,x 和 y 特征具有更大程度的共性,而 w 和 z 特征具有更大的差异。

我希望找到一个相对轻量级的解决方案,该解决方案也很容易在其他语言中复制。欢迎所有想法和评论。

最佳答案

如果特征是独立的,你可以只计算 variance每个特征分别。由于您想独立于语言,这里是一些伪代码:

for each trait
for each object
add the current trait value to a variable to get a cumulative total
divide the total by the number of objects to get the mean
for each object
subtract the trait value from the mean, and square the result
add the result to a variable to get a cumulative total
divide by the number of objects to get the mean of the squared differences

这将为您提供每个特征的方差。方差是正值的平均值,因此它始终为正。较低的值意味着较小的方差,较高的值意味着较大的方差。

关于javascript - 对象/数组比较算法以确定共性/相似性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25208815/

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