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

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

KNN находится в списке алгоритмов scikitlearn. если вы интересуетесь машинным обучением, вам стоит прочитать документацию scikit-learn, это потрясающе.

Предпосылки:

В этом примере я использую python3.7 и jupyter-notebook в качестве редактора.

Библиотека должна быть установлена-

Панды

пустой

матплотлиб

приморский

научись учиться

Начнем с кодирования

первый импорт библиотек исследования данных

Импорт библиотеки визуализации данных.

Теперь нам нужно загрузить и прочитать набор данных. загрузить набор данных из здесь

Теперь здесь мы должны выбрать наши X и Y.

Здесь мы создаем точечную диаграмму между Возрастом и Оценочной зарплатой, чтобы предсказать купленные

Давайте заполним этот график некоторыми цветами, чтобы было проще прогнозировать два класса. здесь мы видим, что кто-то приходит в классы розового цвета, это означает, что они никогда не покупали

Здесь мы видим тип данных X, а y — это фрейм данных, но в scikit learning и tensorflow внутри они используют numpy, поэтому это хорошая практика для преобразования в массив numpy.

Разделите нормализованные данные на обучающие и тестовые наборы, используя функцию scikit-learn train_test_split. поскольку у нас нет большого набора данных, мы будем использовать 80:20 как соотношение обучения и тестирования.

После разделения данных теперь нам нужно построить наш классификатор для этого, который мы должны импортировать. Мы передадим наш k как n_neighbors = 5, который по умолчанию является scikit-learn n_neighbors.

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

from sklearn.neighbors import KNeighborsClassifier

Теперь мы хотим проверить точность нашей модели, для этого нам нужно импортироватьaccuarcy_scoreиз sklearn.metrics. здесь вы видите, что точность составляет 82%. что весьма неплохо.

Здесь мы сравниваем нашу модель с X_test и прогнозируемым значением y_test.

y_pred=model.predict(X_test)

Оценивайте альтернативные значения K для получения более точных прогнозов.

Здесь мы создаем одну переменную error_rate с типом данных массива, в которой хранятся все значения accuarcy_rate.

Чтобы увидеть, какие значения k дают большую точность, мы должны визуализировать данные, чтобы иметь больше смысла. На этом графике мы видим, что accuarcy_rate выше 82% имеет k-значение 5 или 7.

Заключение

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

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

Примечание от команды Plain English

А вы знали, что у нас четыре публикации? Подарите им немного любви, подписавшись: JavaScript на простом английском, ИИ на простом английском, UX на простом английском. , Python на простом английском — спасибо и продолжайте учиться!

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

И, как всегда, Plain English помогает продвигать хороший контент. Если у вас есть статья, которую вы хотели бы отправить в какое-либо из наших изданий, отправьте электронное письмо по адресу [email protected], указав свое имя пользователя на Medium и то, о чем вы хотели бы написать, и мы вернуться к вам!