作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在尝试找出确定各种对象或数组之间的共性或相似性的最佳方法,并且有兴趣获得社区的意见。我目前正在用 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/
我是一名优秀的程序员,十分优秀!