На очень высоком уровне это похоже на проблему поиска ближайшего соседа.
Из вики: «по заданному набору S точек в пространстве M и точке запроса q ∈ M найдите ближайшую точку в S к q».
Но есть некоторые существенные различия.Особенности:
- Каждая точка описывается k переменными.
- Переменные не все числовые.Смешанные типы данных: string, int и т. Д.
- Все возможные значения для всех переменных неизвестны - но они поступают из достаточно небольших наборов.
- В наборе данных для поиска будет несколько точекс одинаковыми значениями для всех переменных k.
- Еще один способ взглянуть на это состоит в том, что будет много повторяющихся точек.
- Для каждой точки назовем число дубликатов частотой.
- Учитывая точку запроса q, нужнонайти ближайшего соседа p таким, чтобы частота p была не менее 15
По-видимому, существует широкий спектр алгоритмов вокруг NNS, статистической классификации и наилучшего соответствия бина.
Я немного теряюсь во всех вариациях.Есть ли уже стандартный алгоритм, который я могу использовать.Или мне нужно изменить один?