Я пытаюсь создать программу, которая будет оценивать множество массивов, чтобы найти ту, которая наиболее близко соответствует заданному массиву. Так говорят, что данный массивСоответствует значениям 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)
и т.д. для всех матчей. И массив с самым низким рейтингом является лучшим матчем
******* Примечание *******
Данного массив будет иметь тот же размер или меньше, чем массив согласования и будет имеют только положительные значения. Соответствующий массив может иметь отрицательные значения. Я думал об использовании сходства с косинусом, но я не уверен, как реализовать это для этой проблемы.
Вы можете вычислить расстояние между массивами, чтобы определить сходство. Есть ли шум в данных? Являются ли данные линейными? –
Нет значений, которые следует игнорировать (шум), и массивы будут отсортированы как линейные. Как вы вычисляете расстояние? –