Алгоритм k ближайших соседей

Алгоритм k ближайших соседей, является самым простым алгоритмом машинного обучения. Построение модели заключается в простом запоминании обучающего набора данных.

Алгоритм k ближайших соседей, является самым простым алгоритмом машинного обучения.

Построение модели заключается в простом запоминании обучающего набора данных.

Для того, чтобы сделать прогноз для новой точки данных, алгоритм находит ближайшие к ней точки обучающего набора, то есть находит «ближайших соседей».

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

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

В классификаторе KNeighbors есть два важных параметра:

  • Количество соседей;
  • Мера расстояния между точками данных.

На практике обычно хорошо работает использование небольшого числа соседей (например, 3-5). Но этот параметр может быть настроен в каждом конкретном случае

По умолчанию используется евклидово расстояние, которое хорошо работает во многих ситуациях.

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

Построение модели ближайших соседей происходит очень быстро при небольшом количестве выборки.

В случае большой обучающей выборки (с точки зрения количества характеристик или количества точек в обучающей выборке) получение прогнозов может занять значительное время. При использовании алгоритма ближайших соседей важно выполнение предварительной обработки данных.

Метод k ближайших соседей не целесообразно применять, когда речь идет о наборах данных с большим количеством признаков (сотни и более).

Также метод плохо работает в ситуации, когда подавляющее число признаков в большей части наблюдений имеют нулевые значения (так называемые разреженные наборы данных или sparse datasets).

Для реализации метода k ближайших соседей может использоваться библиотека языка Python:

https://scikit-learn.org

Метод k ближайших соседей может применяться как для задач классификации, так и для задач регрессии:

from sklearn.neighbors import KNeighborsClassifier, KNeighborsRegressor

Пример применения метода k ближайших соседей на языке Python :

Добавить комментарий