Вопрос касается алгоритма классификации KNN - метки классов обучающих выборок дискретны.
Предположим, что в обучающем наборе есть n
точки, идентичные новому шаблону, который мы собираемся классифицировать, то есть расстояния от этих точек до нового наблюдения равны нулю (или <epsilon
). Может случиться так, что эти одинаковые тренировочные точки будут иметь разные метки классов. Теперь предположим, что n < K
и есть другие обучающие точки, которые входят в набор ближайших соседей, но имеют ненулевые расстояния до нового наблюдения. Как в этом случае присвоить метку класса новой точке?
Есть несколько вариантов, таких как:
- рассмотреть всех K (или более, если есть связи с худшим ближайшим соседом) соседей и провести голосование большинством
- игнорировать соседей с ненулевыми расстояниями, если в обучающих данных есть «клоны» новой точки, и брать большинство голосов только за клоны
- то же, что и 2. но назначьте класс с наибольшей априорной вероятностью в обучающих данных (среди клонов)
- ...
Любые идеи? (ссылки также приветствуются)