Логистическая регрессия — это статистический метод и алгоритм машинного обучения, который используется для задач бинарной классификации. В отличие от линейной регрессии, предсказывающей непрерывное число, логистическая регрессия оценивает вероятность того, что объект принадлежит к одному из двух классов: например, «клиент совершит покупку» или «клиент не совершит покупку».
Метод широко применяется в маркетинге, веб-аналитике, медицине, кредитном скоринге и других областях, где нужно ответить на вопрос «да/нет» и понять, какие факторы на это влияют.
Как это работает
В основе логистической регрессии лежит логистическая функция (сигмоида), которая преобразует любое вещественное число в значение от 0 до 1. Сначала модель вычисляет линейную комбинацию входных признаков:
z = β₀ + β₁x₁ + β₂x₂ + … + βₙxₙ
Затем это значение подаётся на сигмоиду:
P(y = 1 | x) = 1 / (1 + e⁻ᶻ)
Полученное число интерпретируется как вероятность принадлежности к классу «1». Если вероятность превышает заданный порог (обычно 0,5), модель относит объект к положительному классу, иначе — к отрицательному.
Обучение модели происходит методом максимального правдоподобия: коэффициенты β подбираются так, чтобы предсказанные вероятности наилучшим образом соответствовали реальным меткам в обучающей выборке.
Зачем это нужно
Логистическая регрессия даёт не только прогноз, но и интерпретируемые коэффициенты. Каждый коэффициент βᵢ показывает, как изменение признака xᵢ влияет на логарифм шансов (log-odds) целевого события. Это позволяет отвечать на вопросы бизнеса: «Насколько вырастет вероятность покупки, если пользователь проведёт на сайте ещё одну минуту?»
Модель проста в реализации, быстро обучается даже на больших данных и не требует мощных вычислительных ресурсов. Именно поэтому логистическая регрессия часто становится первым алгоритмом, который пробуют на задачах классификации в маркетинге и веб-аналитике.
Примеры
- Прогноз конверсии в e-commerce. Модель предсказывает вероятность того, что посетитель интернет-магазина оформит заказ, на основе времени на сайте, количества просмотренных товаров и наличия товаров в корзине.
- Отток клиентов банка. Логистическая регрессия оценивает вероятность ухода клиента по признакам: количество обращений в поддержку, средний остаток на счёте, срок пользования услугами.
- Медицинская диагностика. Модель предсказывает наличие заболевания по результатам анализов и демографическим данным пациента.
- Спам-фильтры. Классификация входящих писем на «спам» и «не спам» по частоте определённых слов и характеристикам отправителя.
Формула или метрика
Логистическая регрессия использует log-odds (логарифм шансов) и odds ratio (отношение шансов). Шансы события — это отношение вероятности успеха к вероятности неудачи:
odds = p / (1 − p)
Log-odds — натуральный логарифм шансов — линейно зависит от признаков:
ln(p / (1 − p)) = β₀ + β₁x₁ + … + βₙxₙ
Коэффициент βᵢ показывает, на сколько изменится log-odds при увеличении xᵢ на единицу. Экспонента коэффициента, e^βᵢ, — это odds ratio: во сколько раз изменятся шансы события при изменении признака на единицу.
Типичные ошибки
- Интерпретация коэффициентов как изменения вероятности. Коэффициент β показывает изменение log-odds, а не вероятности. Чтобы получить изменение вероятности, нужно учитывать текущее значение вероятности.
- Игнорирование мультиколлинеарности. Сильная корреляция между признаками делает коэффициенты нестабильными и трудно интерпретируемыми.
- Использование линейной регрессии вместо логистической. Линейная регрессия может давать предсказания вне диапазона [0, 1], что бессмысленно для вероятностей.
- Отсутствие масштабирования признаков. Хотя логистическая регрессия менее чувствительна к масштабу, чем некоторые алгоритмы, стандартизация признаков улучшает сходимость и интерпретируемость.
Как улучшить
- Добавьте регуляризацию (L1 или L2). Это снижает риск переобучения и помогает отбирать значимые признаки.
- Проверьте мультиколлинеарность. Рассчитайте VIF (variance inflation factor) и удалите или объедините сильно коррелирующие признаки.
- Используйте нелинейные преобразования признаков. Если связь между признаком и log-odds нелинейна, добавьте квадраты, логарифмы или сплайны.
- Оценивайте модель не только по accuracy. Для несбалансированных классов используйте ROC-AUC, precision, recall и F1-меру.
- Калибруйте вероятности. Методы вроде Platt scaling или isotonic regression позволяют сделать предсказанные вероятности более точными.