Машинное обучение: метод k-ближайших соседей

KNN или K-Nearest Neighbors — это контролируемый алгоритм обучения, используемый преимущественно при решении задач классификации. Этот алгоритм обеспечивает наблюдение за различными центрами (центроидами), сравнивая расстояние между ними, причем для этого используются разные функции (как правило, речь идет о евклидовом расстоянии). Далее определяется, к какому конкретно классу принадлежит большинство ближайших объектов обучающей выборки – к этому классу будет относиться и неизвестный объект.

Все вышесказанное — общая концепция метода k-ближайших соседей. Кстати, если хотите посмотреть, что происходит «под капотом», можете изучить следующее видео: https://www.youtube.com/watch?v=UqYde-LULfs.

Мы же напишем реализацию на языке программирования Python.

Начало работы:

Теперь визуализация:

Ну и, собственно говоря, реализация:

По материалам «The Hitchhiker’s Guide to Machine Learning in Python»: https://medium.freecodecamp.org/the-hitchhikers-guide-to-machine-learning-algorithms-in-python-bfad66adb378.