我正在嘗試創建一個程序,該程序將對一堆數組進行評分,以查找與給定數組最接近的數組。所以說,給定的數組是匹配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)
等所有比賽計算等級。並具有最低等級的陣列是最好的搭配
*******注意*******
給定的數組會比匹配數組大小相同或更小,將只有積極的價值。匹配數組可以具有負值。 我在考慮使用餘弦相似度,但我不確定如何實現這個問題。
您可以計算數組之間的距離來確定相似度。數據中是否有噪音?數據是線性的嗎? –
沒有值應該被忽略(噪聲),並且數組將被排序爲線性。你如何計算距離? –