Подход машинного обучения с использованием Python (sklearn-KNeighborsClassifier)
Классификация — это контролируемая модель обучения. Используя классификацию, мы можем разделить неизвестные элементы на дискретный набор категорий и «классов».
Наиболее распространенные варианты использования алгоритмов классификации:
- классификация невозврата кредита (У каких клиентов возникнут проблемы с погашением кредита)
- Чтобы предсказать категорию, к которой принадлежит клиент
- Обнаружение оттока: чтобы предсказать, переключится ли клиент на другой продукт / бренд.
- Электронная почта / классификация документов
В этом блоге я ограничусь алгоритмом «k ближайших соседей».
Алгоритм k-ближайших соседей (k-NN):
Метод k-NN классифицирует случаи на основе их сходства с другими случаями, логика алгоритма заключается в выявлении случаев, находящихся ближе друг к другу (соседей).
Расстояние между двумя случаями является мерой «несходства/сходства». Существует множество вариантов расчета расстояния между двумя случаями, наиболее популярным среди которых является «расстояние Евклида».
Точность алгоритма зависит от присвоенного k-value.
- Низкое значение k приведет к менее точной модели (вызывает чрезмерную подгонку)
- Высокое значение k приведет к высокой точности модели (причины недостаточной подгонки)
Решение.Используйте подход обучение/тестирование, чтобы зарезервировать часть данных для проверки точности модели и выбрать значение k с максимальной точностью.
Исследование и нормализация данных:
В этом блоге я буду использовать данные сегментации клиентов, установленные поставщиком телекоммуникационных услуг. Цель состоит в том, чтобы предсказать группы категорий клиентов на основе шаблонов использования.
Нормализация данных:
Стандартизация данных дает данные с нулевым средним значением и единичной дисперсией. Мы должны выполнить нормализацию, так как алгоритм k-NN основан на расстоянии случаев.
Разделить данные на обучающие и тестовые наборы (взаимоисключающие):
Я бы рекомендовал использовать взаимоисключающие, так как этот подход повысит «точность вне выборки».
Как выбрать хорошее значение k:
Поиск хорошего значения k — итеративный процесс. Чтобы выбрать хорошее значение k, нам нужно измерить среднюю точность, точность стандартного отклонения и показатель F-1 (матрица путаницы).
Построить классификатор k-ближайших соседей (k-NN):
Поскольку мы оценили, что k = 9 обеспечивает наилучшую точность для обучающих и тестовых данных, мы будем использовать значение k для построения нашего классификатора сегментации случаев.
Теперь у нас есть классификатор, готовый к применению к неизвестным данным…
Удачного кодирования!!
Вы можете найти больше репозиториев кода по машинному обучению и алгоритмам искусственного интеллекта в моем Git Hub https://github.com/krishnakesari.