При использовании KNeighborsClassifier какова мотивация использования веса=»расстояние»

#machine-learning #scikit-learn #knn

Вопрос:

При использовании KNeighborsClassifier какова мотивация использования weights="distance" ?

Согласно документам sklearn:

‘расстояние»: взвешивание точек на величину, обратную их расстоянию. В этом случае более близкие соседи точки запроса будут иметь большее влияние, чем соседи, находящиеся дальше.

Какова мотивация использования этого?

Ответ №1:

Идея классификатора ближайших соседей состоит в том, чтобы рассмотреть те точки обучающего набора, которые близки к точке, которую вы хотите классифицировать, и угадать класс этой точки на основе их известных меток классов.

Если все эти близкие точки обучения имеют одинаковую метку, результат ясен. Но что, если у них не у всех одинаковые ярлыки? Вы могли бы взять их самый распространенный ярлык, но это не всегда может быть лучшим предположением.

Например, представьте, что одна обучающая точка с меткой A находится очень близко к точке, которую вы хотите классифицировать, в то время как две обучающие точки с меткой B находятся несколько дальше, но все еще близко. Должна ли новая точка быть помечена как A или B? Взвешивание точек по тому, насколько они близки (т. Е. По отношению к их расстоянию), обеспечивает объективный способ ответить на этот вопрос.