Узнайте, как прогнозировать отток клиентов с помощью различных алгоритмов классификации в машинном обучении.

В этой статье я собираюсь показать работу классификационного машинного обучения и соответственно сравнить их точность. Используемые алгоритмы:

  1. Классификация логистической регрессии
  2. K-Классификация ближайших соседей (KNN)
  3. Классификация метода опорных векторов (SVM)
  4. Наивная байесовская классификация
  5. Классификация дерева решений
  6. Классификация случайного леса

О данных:

Этот набор данных содержит сведения о клиентах банка, а целевая переменная представляет собой бинарную переменную, отражающую тот факт, покинул ли клиент банк или продолжает оставаться клиентом.

Задействованные модули:

  1. Изучение данных
  2. Извлечение необходимых функций и целевых данных
  3. Нормализация данных
  4. Разделение набора данных на обучение и тестирование
  5. Применение алгоритмов классификации к предварительно обработанному набору данных и расчет точности, среднеквадратичной ошибки (MSE), средней абсолютной ошибки (MAE), точности и полноты.

Итак, приступим

Изучение данных:

Используя встроенные библиотеки в python, такие как python, мы можем прочитать набор данных с расширением файла .csv.

Здесь мы просто читаем файл и сохраняем файл .csv в переменной с именем «данные», а выходные данные для приведенного выше кода, отображающего файл .csv, показаны ниже.

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

Извлечение необходимых функций и целевых данных:

Создание корреляционной матрицы помогает нам более точно просматривать данные.

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

На основе предыдущей тепловой карты становится ясно, что мы должны удалить из набора данных ненужные столбцы, такие как [‘RowNumber’, ‘CustomerId’, ‘Surname’, ‘Geography’].

Как мы видели ранее, в столбце «Пол» есть такие записи, как «Мужской» и «Женский», давайте использовать для этого однократное кодирование.

И это выглядит так после кодирования.

Давайте визуализируем ушедших и существующих клиентов на тепловой карте.

Теперь давайте удалим целевой столбец Exited и проверим некоторую статистику оставшихся столбцов, отделив целевую функцию (y) от других функций (x_data).

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

Разделение набора данных на данные обучения и тестирования:

Я разделил набор данных на две части — обучение (70%) и тестирование (30%).

x_train, y_train — переменные обучения, а x_test, y_test — переменные тестирования.

Поскольку вся работа по предварительной обработке выполнена, теперь наши данные готовы для алгоритмов.

КЛАССИФИКАЦИЯ ЛОГИСТИЧЕСКОЙ РЕГРЕССИИ:

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

вот следующий код для логистической регрессии:

K- Ближайший сосед (KNN) КЛАССИФИКАЦИЯ:

Алгоритм k-ближайших соседей (KNN) – это простой и удобный в реализации алгоритм машинного обучения с учителем, который можно использовать для решения задач как классификации, так и регрессии.

МАШИНА ОПОРНЫХ ВЕКТОРОВ (SVM) КЛАССИФИКАЦИЯ:

Машина опорных векторов (SVM) — это дискриминативный классификатор, формально определяемый разделяющей гиперплоскостью. Другими словами, учитывая помеченные обучающие данные (обучение с учителем), алгоритм выводит оптимальную гиперплоскость, которая классифицирует новые примеры.

НАИВНАЯ БАЙЕСОВАЯ КЛАССИФИКАЦИЯ:

Наивный Байес — это простой метод построения классификаторов: моделей, которые присваивают метки классов экземплярам проблемы, представленным в виде векторов значений признаков, где метки классов берутся из некоторого конечного набора.

КЛАССИФИКАЦИЯ ДЕРЕВА РЕШЕНИЙ:

КЛАССИФИКАЦИЯ СЛУЧАЙНОГО ЛЕСА:

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

СРАВНЕНИЕ И ЗАКЛЮЧЕНИЕ:

Как мы видим из цифр, точность Random Forests (примерно 84,5%) выше, чем у любой другой модели классификации в данном конкретном случае.