Машинное обучение — что это и зачем аналитику данных

Что такое машинное обучение

Машинное обучение (Machine Learning, ML) — подраздел искусственного интеллекта, в котором компьютер находит закономерности в данных без явного программирования правил. Вместо того чтобы писать if revenue > 1000 then good_client, вы даёте модели исторические данные с примерами, а она сама выводит правила.

Классическое определение: «Программа обучается на опыте E относительно задачи T и метрики P, если её производительность по P на задаче T улучшается с ростом E» (Том Митчелл). Проще: чем больше данных — тем точнее предсказания.

ML — часть Data Science, наряду со статистикой, визуализацией и доменной экспертизой.

Типы машинного обучения

Обучение с учителем (Supervised Learning)

Модель получает данные с правильными ответами (метками). Примеры: «этот клиент ушёл», «этот остался». На основе пар «вход → ответ» модель учится предсказывать ответ для новых данных.

Два типа задач:

  • Классификация — предсказание категории. Уйдёт клиент или нет (бинарная), тип обращения в поддержку (многоклассовая).
  • Регрессия — предсказание числа. Выручка в следующем месяце, время до покупки, LTV пользователя.

Обучение без учителя (Unsupervised Learning)

Модель получает данные без меток и ищет скрытую структуру. Типичные задачи: кластеризация пользователей по поведению (RFM-сегменты), снижение размерности для визуализации, поиск аномалий.

Обучение с подкреплением (Reinforcement Learning)

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

Алгоритмы, которые должен знать аналитик

Аналитик не строит модели в продакшене — но должен понимать, что за алгоритм используется и почему.

  • Линейная регрессия — предсказывает числовое значение, находя линейную зависимость между признаками и целевой переменной. Самый базовый метод.
  • Логистическая регрессия — несмотря на название, решает задачу классификации. Предсказывает вероятность принадлежности к классу через sigmoid-функцию.
  • Деревья решений — серия условий «если–то» в виде дерева. Интерпретируемы: можно объяснить, почему модель приняла решение. Градиентный бустинг (XGBoost, LightGBM) строит ансамбль таких деревьев и часто даёт лучшее качество на табличных данных.
  • k-Means — алгоритм кластеризации. Делит объекты на k групп так, чтобы объекты внутри кластера были похожи. Используется для сегментации пользователей.

Практические примеры

Прогноз оттока (Churn Prediction). Классификация: по истории активности, покупок и обращений в поддержку модель предсказывает вероятность, что пользователь уйдёт в ближайшие 30 дней. Маркетинг таргетирует на эту группу удерживающие кампании.

Рекомендательные системы. Netflix рекомендует фильмы, Ozon — товары. Под капотом — коллаборативная фильтрация (похожие пользователи смотрят похожее) или контентные модели (похожие характеристики товаров).

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

Прогноз спроса (Demand Forecasting). Регрессия: предсказание объёма продаж на следующую неделю для каждого SKU. Учитывает сезонность, промоакции, день недели.

Переобучение и недообучение

Переобучение (overfitting) — модель запомнила обучающие данные, включая шум, и плохо работает на новых. Признак: отличные метрики на train, слабые на test. Решения: больше данных, регуляризация, упрощение модели.

Недообучение (underfitting) — модель слишком простая и не ловит закономерности. Плохие метрики и на train, и на test. Решения: усложнить модель, добавить признаки.

Train/test split

Чтобы оценить модель честно, данные делят на две части:

  • Train (обучающая выборка) — на ней модель учится, обычно 70–80% данных.
  • Test (тестовая выборка) — на ней проверяем качество, 20–30%. Модель эти данные не видела.

Если тестировать модель на тех же данных, на которых обучали, — вы измеряете способность запоминать, а не обобщать. Train/test split — минимальный стандарт валидации.

Зачем ML аналитику данных

Аналитик данных обычно не деплоит модели в продакшен — этим занимается ML-инженер. Но аналитик:

  • Готовит данные и признаки (feature engineering). Качество признаков определяет качество модели больше, чем выбор алгоритма. Аналитик, который знает домен, создаёт лучшие фичи.
  • Оценивает результаты. Понимает, что AUC = 0.95 — не всегда хорошо (дисбаланс классов), и что precision/recall важнее accuracy.
  • Интерпретирует модель для бизнеса. Переводит feature importance в бизнес-инсайты: «основной фактор оттока — отсутствие активности 7+ дней».
  • Ставит задачу. Формулирует, какую метрику оптимизировать, какие данные использовать, что считать целевой переменной.

Python-библиотеки для ML

  • scikit-learn (sklearn) — стандарт для классического ML. Линейные модели, деревья, кластеризация, метрики, preprocessing. Достаточно для 80% задач аналитика.
  • XGBoost / LightGBM — градиентный бустинг. Лучшее качество на табличных данных, используется в большинстве продакшен-решений и на Kaggle.
  • pandas — подготовка и трансформация данных перед подачей в модель.

Вопросы с собеседований

Чем supervised отличается от unsupervised learning? В supervised модель обучается на размеченных данных (есть правильные ответы), в unsupervised — ищет структуру в неразмеченных данных. Пример supervised: прогноз оттока. Пример unsupervised: кластеризация клиентов.

Чем классификация отличается от регрессии? Классификация предсказывает категорию (уйдёт / не уйдёт), регрессия — числовое значение (выручка, LTV). Метрики разные: accuracy/precision/recall для классификации, MAE/RMSE/R² для регрессии.

Что такое переобучение и как с ним бороться? Модель запомнила тренировочные данные и плохо обобщает. Методы: train/test split, кросс-валидация, регуляризация, ранняя остановка, увеличение объёма данных.

Зачем делить данные на train и test? Чтобы оценить качество модели на данных, которые она не видела. Без этого мы не знаем, обобщает модель или просто запоминает.

Что такое feature engineering? Создание и трансформация признаков из сырых данных для улучшения качества модели. Пример: из даты регистрации и текущей даты сделать признак «количество дней с момента регистрации».

FAQ

Нужно ли аналитику уметь строить ML-модели? Не обязательно, но крайне полезно. Базовый уровень — запустить sklearn-модель в Jupyter, оценить метрики, объяснить результат. Этого достаточно для большинства позиций аналитика.

С чего начать изучение ML? С линейной регрессии и логистической регрессии. Это фундамент, на котором строится понимание более сложных методов. Затем — деревья решений и градиентный бустинг.

Корреляция и причинность — при чём тут ML? ML-модели находят корреляции, но не доказывают причинно-следственные связи. Если модель предсказывает отток по количеству обращений в поддержку — это не значит, что обращения вызывают отток. Для причинности нужен A/B-тест или каузальный анализ.

Чем ML отличается от классической статистики? Статистика фокусируется на интерпретации и проверке гипотез (p-values, доверительные интервалы). ML — на качестве предсказаний. На практике они дополняют друг друга.


Потренируйте вопросы по ML и статистике на реальных задачах — откройте тренажёр. 1500+ вопросов, которые спрашивают на собеседованиях аналитика. Бесплатно. А ещё посмотрите примеры вопросов.