В этом блоге я расскажу об алгоритме k-ближайших соседей, также известном как KNN.

Введение:

k-ближайшие соседи — это самый популярный алгоритм контролируемого обучения, который можно использовать как для задач классификации, так и для задач регрессии.

Основной концепцией алгоритма KNN является расстояние, т. е. насколько далеко точки данных находятся от точки данных запроса.

Как работает КНН?

Давайте возьмем простой пример, чтобы понять, как работает этот K-NN. Рассмотрим небольшой набор данных, содержащий переменные роста, веса и пола, как показано ниже:

Наша постановка задачи состоит в том, чтобы найти пол человека, используя данные о его росте и весе.

Давайте отобразим данные, которые у нас есть, на 2D-графике.

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

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

Наш первый шаг включает инициализацию значения «k».

Рассмотрим значение k=3

Здесь k представляет «Нет. ближайших соседей»

Наш следующий шаг включает в себя поиск k-ближайших соседей.

На этом этапе модель фактически вычисляет расстояния от нашей точки запроса до всех других точек данных в данных.

Здесь мы можем использовать разные показатели. По умолчанию он вычисляет евклидово расстояние, т. е. по формуле

Все рассчитанные расстояния сохраняются в отсортированном списке. Затем он нарезает список, беря только первые k элементов. Так что мы получим k ближайших точек к нашей точке запроса.

Поскольку мы взяли k = 3, 3 ближайших соседа по нашему указанному запросу выбираются, как показано на рисунке ниже:

Наш следующий шаг включает в себя подсчет k ближайших соседей, принадлежащих каждому классу.
Здесь количество мужчин = 1

женщина = 2

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

Короче говоря, алгоритм KNN следует следующим шагам

1. Инициализация значения k

2. Нахождение k-ближайших соседей

3. Подсчитайте k-ближайших соседей, принадлежащих каждой категории.

4. Выигрывает категория с максимальным количеством очков !!

Нахождение значения k:

Значение k находится в диапазоне от 1 до n. Значение k оказывает значительное влияние на нашу модель.

Если значение k меньше, наша модель будетподходить с переобучением.

больше, чем наша модель недостаточно подходит.

Таким образом, мы должны тщательно выбирать значение k.

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

Преимущества КНН:

1. Алгоритм очень прост и легко реализуем.

2. Нет периода обучениядля KNN. т. е. KNN требует очень меньше времени для обучения или вообще не требует его. Следовательно, это очень эффективно по времени.

Недостатки КНН:

1. Больший период тестирования для КНН больше.

Причина этого заключается в том, что во время периода обучения он просто сохраняет или запоминает данные. Он начнет работать во время периода тестирования. В период тестирования он начнет находить расстояния. Следовательно, K-NN также известен как «ленивый ученик», поскольку он ведет себя лениво во время обучения и начинает работать во время тестирования.

2. KNN плохо работает в случае более высокой размерности, поскольку очень сложно вычислить расстояние для каждого измерения.

3. Алгоритм KNN чувствителен к шуму и отсутствию данных.

4. Алгоритм становится значительно медленнее для больших наборов данных.

Следуйте, чтобы получить общее представление о различных концепциях науки о данных самым простым способом.