我正在尝试创建一个程序,该程序将对一堆数组进行评分,以查找与给定数组最接近的数组。所以说,给定的数组是匹配2个数组的值
[1, 80, 120, 155, 281, 301]
和阵列来比较的一个是
[-6, 78, 108, 121, 157, 182, 218, 256, 310, 408, 410]
我如何能在第一阵列中的值匹配其关闭值第二阵列将在给它最低的总差。 在这种情况下,目前还不清楚
1 => -6, 80 => 78, 120 => 121, 155 => 157
比281应该匹配310,因为它比256更接近然而,这将迫使301匹配到256所以最佳的整体匹配将
281=>256 and 301=> 310
然后程序会简单地做
abs(-6 - 1) + abs(78-80)
等所有比赛计算等级。并具有最低等级的阵列是最好的搭配
*******注意*******
给定的数组会比匹配数组大小相同或更小,将只有积极的价值。匹配数组可以具有负值。 我在考虑使用余弦相似度,但我不确定如何实现这个问题。
您可以计算数组之间的距离来确定相似度。数据中是否有噪音?数据是线性的吗? –
没有值应该被忽略(噪声),并且数组将被排序为线性。你如何计算距离? –