Все классификации в этом мире лишены резких границ, и все переходы постепенны. — Александр Солженицын

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

В этой статье мы поймем, что такое проблемы классификации, и рассмотрим один из методов — K ближайших соседей (любовно называемый KNN) для их решения. Затем мы настроим модель классификации KNN в этой записной книжке Google Colab.

Они сказали, что это хорошая проблема для решения

Допустим, у вас есть существующий набор данных. Сделаем это данные о собственности на дом.

Здесь есть 3 поля — Age, Salary и Purchased. Он представляет собой исторические данные, которые агент по недвижимости имеет из предыдущих попыток продажи домов.

Здесь Age и Salary — это независимые переменные или входные данные, также известные как функции.

Ставя себя на место агента по недвижимости, мы ищем потенциальных покупателей. Если нам представляют новую точку данных, скажем, { Age: 40, Salary: 160000 }, цель состоит в том, чтобы правильно классифицировать, будет ли этот человек потенциальным покупателем.

Это делает поле Purchased зависимой переменной или выходом, также известным как Результат.

Чтобы визуально понять вышеуказанную проблему, давайте посмотрим на график ниже, где у нас есть 2 независимые переменные, x1 и x2. У нас есть зависимая переменная, нанесенная на график в виде красных и зеленых точек, представляющих 2 категории.

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

Но только если вы знаете, как

В машинном обучении доступно несколько моделей классификации, включая

  • Логистическая регрессия
  • K-ближайшие соседи (KNN)
  • Опорные векторные машины
  • Ядро SVM
  • Наивный Байес
  • Классификация дерева решений
  • Случайная классификация леса

Но сегодня мы решили понять KNN.

Шаги алгоритма KNN такие:

Давайте реализуем это в этом блокноте Google Colab.

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

Задача решена

Мы использовали библиотеку scikit-learn для обучения модели KNN на наших обучающих данных и получили точность 93%.

Ниже представлены результаты в виде matplotlib результатов визуализации тестовых данных.