Подход машинного обучения с использованием Python (sklearn-KNeighborsClassifier)

Классификация — это контролируемая модель обучения. Используя классификацию, мы можем разделить неизвестные элементы на дискретный набор категорий и «классов».

Наиболее распространенные варианты использования алгоритмов классификации:

  1. классификация невозврата кредита (У каких клиентов возникнут проблемы с погашением кредита)
  2. Чтобы предсказать категорию, к которой принадлежит клиент
  3. Обнаружение оттока: чтобы предсказать, переключится ли клиент на другой продукт / бренд.
  4. Электронная почта / классификация документов

В этом блоге я ограничусь алгоритмом «k ближайших соседей».

Алгоритм k-ближайших соседей (k-NN):

Метод k-NN классифицирует случаи на основе их сходства с другими случаями, логика алгоритма заключается в выявлении случаев, находящихся ближе друг к другу (соседей).

Расстояние между двумя случаями является мерой «несходства/сходства». Существует множество вариантов расчета расстояния между двумя случаями, наиболее популярным среди которых является «расстояние Евклида».

Точность алгоритма зависит от присвоенного k-value.

  1. Низкое значение k приведет к менее точной модели (вызывает чрезмерную подгонку)
  2. Высокое значение k приведет к высокой точности модели (причины недостаточной подгонки)

Решение.Используйте подход обучение/тестирование, чтобы зарезервировать часть данных для проверки точности модели и выбрать значение k с максимальной точностью.

Исследование и нормализация данных:

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

Нормализация данных:

Стандартизация данных дает данные с нулевым средним значением и единичной дисперсией. Мы должны выполнить нормализацию, так как алгоритм k-NN основан на расстоянии случаев.

Разделить данные на обучающие и тестовые наборы (взаимоисключающие):

Я бы рекомендовал использовать взаимоисключающие, так как этот подход повысит «точность вне выборки».

Как выбрать хорошее значение k:

Поиск хорошего значения k — итеративный процесс. Чтобы выбрать хорошее значение k, нам нужно измерить среднюю точность, точность стандартного отклонения и показатель F-1 (матрица путаницы).

Построить классификатор k-ближайших соседей (k-NN):

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

Теперь у нас есть классификатор, готовый к применению к неизвестным данным…

Удачного кодирования!!

Вы можете найти больше репозиториев кода по машинному обучению и алгоритмам искусственного интеллекта в моем Git Hub https://github.com/krishnakesari.