#machine-learning #scikit-learn #knn
Вопрос:
При использовании KNeighborsClassifier
какова мотивация использования weights="distance"
?
Согласно документам sklearn:
‘расстояние»: взвешивание точек на величину, обратную их расстоянию. В этом случае более близкие соседи точки запроса будут иметь большее влияние, чем соседи, находящиеся дальше.
Какова мотивация использования этого?
Ответ №1:
Идея классификатора ближайших соседей состоит в том, чтобы рассмотреть те точки обучающего набора, которые близки к точке, которую вы хотите классифицировать, и угадать класс этой точки на основе их известных меток классов.
Если все эти близкие точки обучения имеют одинаковую метку, результат ясен. Но что, если у них не у всех одинаковые ярлыки? Вы могли бы взять их самый распространенный ярлык, но это не всегда может быть лучшим предположением.
Например, представьте, что одна обучающая точка с меткой A находится очень близко к точке, которую вы хотите классифицировать, в то время как две обучающие точки с меткой B находятся несколько дальше, но все еще близко. Должна ли новая точка быть помечена как A или B? Взвешивание точек по тому, насколько они близки (т. Е. По отношению к их расстоянию), обеспечивает объективный способ ответить на этот вопрос.