Контролируемое машинное обучение — Обзор бинарной логистической регрессии

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

Факторы, которые следует учитывать перед выбором алгоритма

Перед применением определенного типа алгоритма вы должны рассмотреть и оценить следующие факторы: параметризация, объем памяти, тенденция к переобучению, время обучения, время прогнозирования и т. д. Вы выбираете модели классификации, а не модели регрессии, когда ваша целевая переменная категориальный (а не числовой). Следовательно, вы должны применить логистическую регрессию для следующих типов прогнозов:

  • • Сдаст или не сдаст учащийся класс?
  • • Является ли электронная почта спамом или нет?
  • • Какие образцы являются ложными или истинными?
  • • Каков пол человека в зависимости от его роста?

Все это прогнозы вероятности, но их вывод должен быть преобразован в двоичное значение 0 или 1 для логистической регрессии (подробнее о логистической регрессии вы можете прочитать здесь).

Шаги прогнозного моделирования

Я пройдусь по прогнозному моделированию с помощью Титаник-челлендж. Есть два набора данных, которые включают реальную информацию о пассажирах Титаника, такую ​​как имя, возраст, пол, социальный класс, стоимость проезда и т. д. Один набор данных, Обучение, содержит двоичные данные (да или нет) для 891 пассажира. Еще один — Тестирование, для которого мы должны предсказать, какие пассажиры выживут. Мы можем использовать обучающий набор для обучения нашей модели прогнозирования с заданными шаблонами данных, а затем использовать наш тестовый набор для оценки его производительности. Я буду использовать Python Pandas, статистический график Seaborn и пакет машинного обучения Scikit-learn для анализа и моделирования.

1. Определение проблемы

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

2. Исследовательский анализ данных

Мы начнем с исследовательского анализа данных, чтобы понять набор данных, его шаблоны и функции, которые мы будем использовать для логистической регрессии:

Это говорит нам, насколько велики наши наборы данных, и мы видим, что в наборе Train есть еще один столбец. Это наше целевое значение «Выжил». Теперь давайте посмотрим на гендерные данные с разбивкой по категориям выживания:

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

3. Разработка функций

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

Теперь нам нужно заполнить недостающие значения для функций Age, Embarked и т. д.:

И последним шагом будет удаление значений, которые мы не будем использовать для нашего прогноза:

4. Прогноз

Начнем с определения наших осей X и Y. Мы также будем использовать функцию тестового разделения и запустим прогноз для 20% нашей выборки:

И, предсказывая!

Как мы и ожидали, предсказание вернуло двоичное значение 0 или 1 для каждого пассажира в нашем наборе, что означает 1 — выжил, 0 — не выжил.

5. Оценка модели

Теперь давайте проверим показатель точности, чтобы оценить производительность алгоритма:

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

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

Чтобы узнать больше об анализе данных и машинном обучении, подпишитесь на мою рассылку — Журнал анализа данных.