Scraper Обновлено: 3 October, 2019

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

  Перевод   Ссылка на автора

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

Этопроблема классификациив которой наша цель заключается впредсказать, будет ли клиент подписываться на срочный депозит, Это будет наша переменная Y Существуют различные входные атрибуты. Вот ссылка на набор банковских маркетинговых данных: https://archive.ics.uci.edu/ml/datasets/Bank+Marketing

Шаги, которые я выполнил при получении этих результатов, следующие:

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

Первый шаг - импорт библиотек для сортировки набора данных:

Чтение набора данных:

Разделение набора данных на переменные X и Y:

Это назначит последний столбец как переменную Y, а остальные - как входные.

Чтобы преобразовать все категориальные значения в целочисленные, мы используем кодировщики меток. Для каждого уникального значения будет создан отдельный столбец с использованием одного горячего кодировщика.

Чтобы получить целочисленные значения в определенном диапазоне в различных столбцах, мы используем Standard Scaler.

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

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

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

Мы сейчаспредсказать значения на тестовом наборе, Затем распечатайте все соответствующие оценки и точность.

Это одна модель сделано. Далее мы идем сперсептрон.

Теперь мы получаемКОРЗИНА:

Результаты и точность печатаются.

Теперь мы переходим кСлучайные леса:

Мы переходим кНейронные сети: Импорт всех необходимых библиотек.

Нам нужно использовать горячее кодирование для переменной Y:

3 слоя используются для нейронной сетипервые два имеют 128 узлов с функциями активации как RELU, а последний имеет 2 узла с функцией активации SOFTMAX. Мы вписываем модель в наш набор данных.

Резюме нейронных сетей:

Распечатка окончательных оценок и точности на модели:

Это все модели, которые я пробовал.Но те были на разделении набора данных 70:30вот результаты для соотношения расщепления 60:40 и 80:20,начиная с 60:40для всех моделей, показанных выше:

Для CART, Logistic, Neural, Perceptron, Random Forest (в указанном порядке):

И вот результаты для 80:20 раскол

Для CART, Logistic, Neural, Perceptron, Random Forest (в указанном порядке):

Как вы можете заметить, в случае разделения 75:25 и 60:40,Логистическая регрессия показывает лучшую точность, Нов случае 80:20 Случайный Лес немного лучше.

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

В этом наборе данных отношение сигнал / шум также было низким, что способствовало регрессии.