Data Science

Что такое Data Science

В 2012 году алгоритм магазина Target узнал о беременности подростка раньше её отца - по изменениям в паттерне покупок. Как горстка данных о лосьонах и витаминах превратилась в настолько точное предсказание? И почему для этого понадобилось не только Machine Learning, но целый конвейер из сбора данных, исследования, моделирования и умения рассказать историю?

  • **Netflix** анализирует 500 млрд событий ежедневно (паузы, перемотки, время просмотра), чтобы рекомендовать следующий фильм - это целый data pipeline от логов до модели
  • **Uber** использует EDA для обнаружения аномалий в ценообразовании: без исследовательского анализа баг в surge pricing стоил бы миллионы
  • **Spotify Wrapped** - ежегодный отчёт для 500M пользователей - это пример мастерской коммуникации данных: те же числа, но поданные как личная история

Data Pipeline: путь данных от хаоса к решению

В 2012 году команда Target (крупная американская сеть магазинов) научилась определять беременность покупательниц **раньше, чем об этом узнавали их родственники**. Алгоритм анализировал историю покупок - лосьоны без запаха, витамины, хлопковые полотенца - и отправлял купоны на детские товары. Один разгневанный отец пришёл в магазин жаловаться, а через неделю извинился: его дочь действительно была беременна. Но чтобы это сработало, данные о миллионах покупок должны были пройти долгий путь от кассовых аппаратов до модели.

**Data pipeline** - это последовательность шагов, по которым данные проходят от источника до финального результата. Аналогия: нефтепровод. Сырая нефть (сырые данные) бесполезна - её нужно добыть, очистить, переработать и доставить потребителю. Точно так же сырые логи, CSV-файлы и API-ответы требуют обработки, прежде чем из них можно извлечь ценность.

Классический паттерн обработки данных - **ETL (Extract, Transform, Load)**: - **Extract** - извлечение данных из источников: базы данных (PostgreSQL, MongoDB), API (REST, GraphQL), файлы (CSV, JSON, Parquet), потоки (Kafka, IoT-сенсоры) - **Transform** - очистка и преобразование: удаление дубликатов, обработка пропусков, нормализация форматов, вычисление новых признаков - **Load** - загрузка в хранилище для анализа: data warehouse, data lake, аналитическая БД

**Источники данных в реальных проектах.** Netflix получает ~500 млрд событий в день от пользователей (что смотрели, на чём остановились, с какого устройства). Uber обрабатывает GPS-координаты миллионов поездок. Spotify анализирует 600 GB логов прослушивания ежедневно. Все эти данные проходят через ETL-пайплайны, прежде чем попасть в модели рекомендаций.

ИсточникФорматОбъёмСложность
Реляционная БД (PostgreSQL)Структурированный (таблицы)ГБ–ТБНизкая - SQL-запросы
REST APIJSONЗависит от rate limitsСредняя - пагинация, auth
Логи серверовТекст / JSONТБ/деньВысокая - парсинг, фильтрация
IoT-сенсорыБинарный / потокиНепрерывный потокВысокая - real-time
Веб-скрапингHTML → структурированныйЗависит от сайтаВысокая - хрупкий

**Garbage In - Garbage Out.** Самая продвинутая модель не спасёт плохие данные. Если в пайплайне не обработать дубликаты, пропуски и ошибки формата - модель будет учиться на мусоре и давать мусорные предсказания. По оценкам IBM, плохое качество данных обходится американской экономике в 3.1 триллиона ежегодно.

Компания получает данные о заказах из PostgreSQL, информацию о клиентах из REST API, и логи кликов из Kafka. Нужно объединить всё в единую таблицу и загрузить в BigQuery. Какой этап ETL отвечает за объединение данных из разных источников?

EDA: исследовательский анализ данных

В 1977 году математик **Джон Тьюки** опубликовал книгу «Exploratory Data Analysis», которая перевернула подход к статистике. До Тьюки стандартный подход был: сформулировать гипотезу → собрать данные → проверить гипотезу. Тьюки предложил обратное: **сначала посмотри на данные, дай им рассказать историю, и только потом формулируй гипотезы**. Этот принцип стал фундаментом Data Science.

Джон Тьюки и рождение EDA

Тьюки придумал термин «software» (программное обеспечение) и «bit» (бит). Его главная идея: «Лучше приблизительный ответ на правильный вопрос, чем точный ответ на неправильный». EDA - это способ найти правильные вопросы.

**EDA (Exploratory Data Analysis)** - это первый шаг работы с данными после загрузки. Цель: понять структуру, найти паттерны, обнаружить аномалии и выбросы, проверить качество. Это как осмотр пациента врачом перед назначением лечения - без диагностики лечение будет вслепую.

Три кита EDA: 1. **Структура** - сколько строк/столбцов, типы данных, пропуски, дубликаты 2. **Статистики** - среднее, медиана, квартили, стандартное отклонение, корреляции 3. **Визуализация** - распределения, выбросы, тренды, взаимосвязи между переменными

**Правило 5 минут:** Потратьте первые 5 минут на `.shape`, `.info()`, `.describe()` и `.value_counts()`. Эти 4 команды расскажут больше о данных, чем час гадания о том, какую модель выбрать. Многие новички сразу бросаются строить нейросеть, не посмотрев на данные - это как прописывать лекарство, не осмотрев пациента.

**Почему EDA важнее выбора модели.** Исследование Kaggle (2020) показало: победители соревнований тратят 40–60% времени на EDA и feature engineering, и лишь 10–20% на подбор модели. Правильно понятые данные + простая модель побьют плохо понятые данные + сложную модель почти всегда.

При EDA датасета Titanic обнаружено: в столбце Cabin 77% значений отсутствуют. Какое действие наиболее обоснованно на этапе EDA?

Моделирование: от гипотезы к предсказанию

Карта - это не территория. Глобус - не Земля. Модель прогноза погоды - не сама погода. **Модель** - это упрощение реальности, которое захватывает важные закономерности и отбрасывает несущественные детали. Статистик Джордж Бокс сказал знаменитую фразу: «Все модели неправильны, но некоторые полезны». Цель - не идеальная точность, а **достаточно хорошее приближение для принятия решений**.

В Data Science выделяют два типа моделей: - **Предсказательные (predictive)** - цель: максимально точно предсказать результат. Нас не волнует «почему», главное - «что будет». Пример: рекомендации Netflix, антиспам Gmail. - **Объяснительные (explanatory)** - цель: понять причинно-следственные связи. Нас волнует «почему». Пример: какие факторы влияют на отток клиентов, какие гены связаны с заболеванием.

МодельТип задачиКогда использоватьСложность
Linear RegressionРегрессияЛинейные зависимости, интерпретируемостьНизкая
Logistic RegressionКлассификацияБинарная классификация, baselineНизкая
Decision TreeОбаНелинейные данные, интерпретируемостьСредняя
Random ForestОбаУниверсальный выбор, хорош из коробкиСредняя
Gradient BoostingОбаТабличные данные, соревнования KaggleВысокая
Neural NetworkОбаИзображения, текст, большие данныеВысокая

**Overfitting - главный враг модели.** Если модель идеально запомнила обучающие данные, но плохо работает на новых - она переобучилась. Это как студент, который зазубрил ответы к конкретным задачам, но не понял принцип. Поэтому данные **всегда** делят на train и test: модель учится на train, оценивается на test.

**Начинайте с простой модели.** Линейная регрессия или logistic regression за 5 минут дают baseline - точку отсчёта. Если она даёт 80% accuracy, а сложная нейросеть - 82%, стоит ли тратить недели? Часто - нет. Простые модели легче объяснить бизнесу, быстрее деплоить и дешевле поддерживать.

Модель предсказания цен на квартиры показывает MAE = $500 на обучающих данных, но MAE = $45,000 на тестовых. Что произошло?

Коммуникация: данные без истории - просто числа

В 2008 году Google запустил Google Flu Trends - систему, которая по поисковым запросам предсказывала эпидемии гриппа на 2 недели раньше CDC (Центра по контролю заболеваний). Модель была блестящей. Но проект провалился. Почему? Не потому что модель была плохой - а потому что **результаты были представлены без контекста**. Когда модель начала ошибаться (в 2013 она предсказала вдвое больше заболевших, чем было), никто не понял, почему. Не было коммуникации между data scientists и принимающими решения людьми.

**Data storytelling** - умение превращать числа в историю, которая побуждает к действию. Три компонента: - **Данные** - факты, метрики, результаты анализа - **Визуализация** - графики, дашборды, инфографика - **Нарратив** - контекст, причины, рекомендации Порознь они слабы: данные без визуализации - стена чисел, визуализация без нарратива - красивая, но непонятная, нарратив без данных - просто мнение.

**Jupyter Notebook** - основной инструмент data scientist'а для коммуникации. Это интерактивный документ, где код, визуализации и текст живут вместе. Но Jupyter - не единственный формат. Для руководства нужны executive dashboards (Tableau, Metabase), для инженеров - документация API модели, для аналитиков - воспроизводимые отчёты.

АудиторияФорматФокусПример
CEO / Board1-page executive summaryROI, бизнес-метрики«Модель сэкономит 2M/год»
Product ManagerDashboard + рекомендацииМетрики продукта, A/B тесты«Конверсия выросла на 12%»
Data TeamJupyter notebookКод, методология, воспроизводимость«R² = 0.87, feature importance»
ИнженерыAPI docs + мониторингLatency, throughput, SLA«p95 < 100ms, 99.9% uptime»

**Распространённая ловушка:** красивые графики без actionable insights. Дашборд с 20 графиками - это не коммуникация, это информационная перегрузка. Хороший отчёт отвечает на три вопроса: **Что случилось?** (факт) → **Почему?** (причина) → **Что делать?** (рекомендация).

**Правило «So What?»** После каждого графика или числа задайте себе вопрос: «И что?». «Churn вырос на 3%» - и что? «Это значит, что мы теряем 150K/месяц после изменения ценовой модели» - вот теперь это actionable insight.

Data Science = Machine Learning. Главное - построить крутую модель.

ML - лишь один инструмент в арсенале data scientist'а. 80% работы - это сбор, очистка и исследование данных, а финальный этап - коммуникация результатов бизнесу.

По данным опросов Kaggle и Anaconda, data scientists тратят 45% времени на подготовку данных, 20% на EDA, 15% на моделирование и 20% на коммуникацию. Модель без качественных данных и понятной интерпретации - бесполезна. Netflix, Spotify, Airbnb подчёркивают: ценность data scientist'а не в умении обучить нейросеть, а в способности превратить данные в бизнес-решение.

Ключевые идеи

  • **Data pipeline (ETL)** - данные проходят путь Extract → Transform → Load, прежде чем стать полезными. Garbage in = garbage out
  • **EDA** - исследовательский анализ данных - важнее выбора модели. Четыре команды (shape, info, describe, value_counts) расскажут больше, чем час подбора гиперпараметров
  • **Модель** - упрощение реальности. Начинайте с простых моделей (baseline), усложняйте только если простая не справляется
  • **Коммуникация** - результат бесполезен, если не донесён до бизнеса. Формат зависит от аудитории: CEO нужен ROI, инженеру - API docs
  • Вернёмся к истории Target: модель предсказала беременность не потому что была сложной, а потому что данные были качественно собраны (ETL), исследованы (EDA), модель проверена, а результат интегрирован в маркетинговую систему (коммуникация)

Связанные темы

Data Science - это интеграция множества дисциплин. Каждый следующий урок углубляет один из этапов:

  • Python для Data Science — Инструменты для реализации всех этапов пайплайна: NumPy, Pandas, Matplotlib
  • Описательная статистика — Математический фундамент EDA: средние, медианы, распределения
  • Machine Learning: введение — Углубление в этап моделирования: типы ML, supervised vs unsupervised

Вопросы для размышления

  • Вспомните последний раз, когда вы принимали решение на основе данных (выбор ресторана по рейтингу, покупка по отзывам). Какие этапы data pipeline вы неосознанно прошли?
  • Почему компании с лучшими data scientists не всегда выигрывают? Какую роль играет качество данных и коммуникация?
  • Если бы вам дали задачу предсказать отток клиентов, с чего бы вы начали - с выбора модели или с EDA? Почему?

Связанные уроки

  • stat-01-sampling — Статистика - математическая основа EDA: распределения, корреляции и проверка гипотез
  • ml-01-intro — ML-моделирование - третий этап Data Science pipeline, разбирается подробно в следующем курсе
  • db-01-intro — Реляционные базы данных - один из основных источников данных в ETL-пайплайне
  • ds-02 — Следующий урок охватывает Python-инструменты: NumPy, Pandas, Matplotlib
  • se-01 — Принципы разработки ПО применимы к построению надёжных data pipelines
Что такое Data Science

0

1

Войти

Data scientist подготовил отчёт для CEO: Jupyter notebook на 40 ячеек с кодом, графиками и метриками модели (precision, recall, F1). CEO не понял ничего. Что не так?