Кейс 2. Подписка на рассылку
Это самый простой сценарий в разделе – и именно поэтому он особенно важен.
Здесь нет многомерного пространства, нет сложных признаков и нет пересекающихся факторов. Есть один признак и бинарное решение.
И этого уже достаточно, чтобы увидеть всю логику логистической регрессии.
Цель кейса
Предсказать, подпишется ли пользователь на email-рассылку, исходя только из времени, проведенного на сайте.
Модель должна отвечать на два вопроса:
Какова вероятность подписки?
Где проходит граница между "скорее подпишется" и "скорее не подпишется"?
Сценарий
Предположим, у нас есть лендинг с формой подписки. Мы замечаем, что пользователи, которые проводят на странице больше времени, чаще оставляют email.
Упростим задачу максимально:
Признак:
время на сайте (в минутах)
Целевая переменная:
1 – пользователь подписался
0 – пользователь не подписался
Каждый пользователь описывается одним числом:
Это одномерная задача. Геометрически — точки на прямой.
Данные
Минимальный учебный датасет:
В данном запуске модель размещает decision boundary примерно в районе 3 минут (конкретное значение зависит от обученных параметров и регуляризации).
Поигравшись с тестовыми данными, можно заметить простую закономерность:
малые значения времени (меньше 3 минут) чаще соответствуют классу "no"
большие значения времени (больше 5 минут) чаще соответствуют классу "yes"
Модель должна уловить именно эту тенденцию. Чтобы понять, как именно она это делает, разберём формулу логистической регрессии.
Что делает модель
Логистическая регрессия в этом случае вычисляет:
а затем применяет сигмоиду:
Поскольку признак один, формула предельно проста:
Поскольку модель линейна по признаку, зависимость z от времени представляет собой прямую.
Decision boundary определяется условием: p=0.5
При стандартном пороге 0.5 это эквивалентно условию: w1⋅x+b=0
В одномерном случае это не линия, а одна точка на оси.
Визуализация

Интерпретация
Это график вероятности подписки как функции времени – он имеет форму сигмоиды.
Чем больше времени пользователь проводит на сайте, тем больше становится линейная комбинация z.
Сигмоида плавно переводит её в вероятность.
В какой-то точке вероятность пересекает 0.5 – это и есть граница решения.
Важно: модель не говорит "подпишется" или "не подпишется" сразу.
Она говорит, например:
Вероятность подписки: 0.63
И уже затем применяется порог (обычно 0.5).
Почему это важный пример
Этот кейс показывает логистическую регрессию в её чистом виде:
одна переменная
одна сигмоида
одна точка decision boundary
Без лишней сложности становится очевидно:
Логистическая регрессия – это линейная модель.
Нелинейность появляется только из-за сигмоиды
При стандартном пороге 0.5 decision boundary – это условие z=0.
Практический смысл
В реальном продукте такую модель можно использовать для:
показа всплывающего окна подписки
отправки дополнительного триггерного письма
A/B-анализа порога времени
Даже один признак может давать полезный сигнал. При условии, что между признаком и целевой переменной существует устойчивая зависимость.А логистическая регрессия позволяет превратить этот сигнал в управляемую вероятность.
Выводы
Этот кейс – минимальный, но показательный.
Он демонстрирует:
как сигмоида превращает число в вероятность
как появляется decision boundary
как линейная модель становится инструментом принятия решений
Дальше мы будем добавлять признаки и измерения.
Но логика останется той же: линейная комбинация → сигмоида → вероятность → порог.
Чтобы самостоятельно протестировать этот код, установите примеры из официального репозитория GitHub или воспользуйтесь онлайн-демонстрацией для его запуска.
Last updated