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

Data Science

EDA в Data Science - это исследовательский анализ данных. Его проводят перед глубоким анализом, построением модели или проверкой гипотез, чтобы понять, что находится в датасете.

Если объяснять простыми словами, EDA помогает Data Scientist сначала «осмотреть данные»: найти пропуски, ошибки, выбросы, распределения, связи между признаками и первые закономерности.

Без EDA легко построить модель на грязных данных и получить красивый, но бесполезный результат. Поэтому исследовательский анализ - один из базовых этапов работы с данными.

Что такое EDA простыми словами

EDA расшифровывается как Exploratory Data Analysis. На русском чаще используют два варианта: исследовательский анализ данных или разведочный анализ данных.

Смысл один: специалист изучает данные до того, как делать окончательные выводы или строить модель.

На этапе EDA нужно понять:

  • сколько строк и столбцов в данных;
  • какие типы признаков есть;
  • есть ли пропуски;
  • есть ли дубли;
  • есть ли выбросы и аномалии;
  • как распределены значения;
  • какие признаки связаны между собой;
  • есть ли заметные группы или сегменты;
  • какие данные могут быть полезны для модели или вывода.

Простыми словами: EDA - это первый внимательный осмотр данных перед серьёзной работой.

Зачем нужен EDA в Data Science

Data Science редко начинается с идеального датасета. Данные могут быть неполными, шумными, противоречивыми или просто непонятными.

EDA помогает не идти вслепую.

Исследовательский анализ нужен, чтобы:

  • понять структуру данных;
  • найти технические ошибки;
  • увидеть пропуски и дубли;
  • обнаружить выбросы;
  • оценить распределения признаков;
  • сравнить группы объектов;
  • найти первые закономерности;
  • понять, какие признаки могут быть важными;
  • решить, нужна ли модель машинного обучения;
  • подготовить данные к дальнейшей работе.

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

После такого анализа модель строится уже не вслепую, а с пониманием данных.

Чем EDA отличается от обычной аналитики данных

EDA и аналитика данных похожи, но это не одно и то же.

Аналитика данных часто отвечает на конкретный бизнес-вопрос: почему упала конверсия, какой канал лучше, где просела выручка, какой сегмент покупает чаще.

EDA чаще проводится перед этим или параллельно. Его задача - изучить датасет и понять, что в нём есть.

ПодходГлавный вопросПример
EDAЧто находится в данных?Найти пропуски, выбросы, распределения и связи между признаками
Аналитика данныхЧто произошло и почему?Понять, почему снизились продажи или изменилась конверсия

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

Если хотите подробнее разобраться в различиях направлений, посмотрите статью Data Science и аналитика данных.

Когда проводится EDA

EDA обычно проводят в начале работы с датасетом. Но к нему можно возвращаться несколько раз.

Исследовательский анализ нужен:

  • перед построением модели машинного обучения;
  • перед проверкой гипотез;
  • перед созданием отчёта;
  • при получении нового датасета;
  • после объединения данных из нескольких источников;
  • после очистки данных;
  • когда модель показывает странный результат;
  • когда в данных появились новые признаки.

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

Какие вопросы задают на этапе EDA

Хороший EDA начинается не с графиков, а с вопросов.

Data Scientist пытается понять:

  • что означает каждая строка;
  • что означает каждый столбец;
  • какая задача решается;
  • какие данные важны для результата;
  • какие признаки могут быть ошибочными;
  • есть ли пропуски и почему они появились;
  • есть ли выбросы и что они означают;
  • какие признаки связаны с целевой переменной;
  • какие группы объектов отличаются друг от друга;
  • можно ли доверять данным.

Например, в таблице заказов есть столбец с ценой. Если в нём встречаются отрицательные значения, нужно не просто удалить строки, а понять причину: это ошибка, возврат, скидка или особый тип операции.

Основные этапы EDA

Исследовательский анализ данных можно разложить на несколько этапов.

ЭтапЧто проверяемЗачем это нужно
Первичный осмотрРазмер таблицы, столбцы, первые строкиПонять структуру датасета
Типы данныхЧисла, строки, даты, категорииПонять, корректно ли распознаны признаки
ПропускиПустые значенияРешить, что делать с неполными данными
ДублиПовторяющиеся строки или объектыИзбежать искажения анализа
ВыбросыСлишком большие, маленькие или странные значенияНайти ошибки или важные аномалии
РаспределенияКак часто встречаются значенияПонять форму данных и перекосы
Связи между признакамиКорреляции и зависимостиНайти возможные закономерности
ВизуализацияГрафики, диаграммы, тепловые картыУвидеть то, что не видно в таблице

Этап 1. Первичный осмотр данных

Сначала нужно понять, с чем вы работаете.

На этом этапе смотрят:

  • сколько строк в таблице;
  • сколько столбцов;
  • как называются признаки;
  • какие есть первые значения;
  • есть ли очевидные проблемы;
  • какая строка считается одним объектом.

Например, в датасете интернет-магазина одна строка может означать заказ, товар в заказе, пользователя или отдельное действие на сайте. Это принципиально разные уровни данных.

Если перепутать уровень строки, можно сделать неправильные выводы. Например, посчитать количество заказов как количество товаров в заказах.

Этап 2. Проверка типов данных

Типы данных показывают, как система воспринимает значения: как числа, строки, даты или категории.

Типичные проблемы:

  • дата записана как обычный текст;
  • число записано строкой;
  • цена содержит пробелы или символы валюты;
  • категории записаны по-разному;
  • целевой признак имеет неправильный формат;
  • числовой код ошибочно воспринимается как количество.

Например, если дата заказа хранится как текст, с ней будет сложно считать месяцы, недели, периоды и сезонность. Сначала её нужно привести к корректному формату.

Проверка типов кажется простой, но она часто экономит много времени на следующих этапах.

Этап 3. Поиск пропусков

Пропуски - одна из самых частых проблем в данных.

Они могут появиться из-за:

  • ошибок при сборе данных;
  • необязательных полей в форме;
  • технических сбоев;
  • объединения таблиц;
  • разных источников данных;
  • особенностей бизнес-процесса.

Пропуск не всегда означает ошибку. Иногда отсутствие значения само по себе несёт смысл.

Например, если в поле «дата последней покупки» пусто, это может означать, что пользователь ещё ни разу ничего не купил. Удалять такую строку автоматически нельзя.

На этапе EDA важно понять:

  • в каких столбцах есть пропуски;
  • сколько их;
  • случайны ли они;
  • связаны ли они с определённой группой объектов;
  • как они могут повлиять на анализ или модель.

Этап 4. Поиск дублей

Дубли - это повторяющиеся строки или объекты. Они могут искажать метрики и модели.

Например, если один заказ попал в таблицу дважды, выручка будет завышена. Если один клиент продублирован под разными ID, анализ поведения станет неточным.

Дубли могут появиться из-за:

  • повторной выгрузки данных;
  • ошибок при объединении таблиц;
  • технических сбоев;
  • неправильной логики идентификаторов;
  • ручного копирования строк.

Но не все похожие строки являются дублями. Например, два одинаковых заказа могут быть реальными повторными покупками. Поэтому перед удалением нужно понимать бизнес-логику.

Этап 5. Поиск выбросов и аномалий

Выброс - это значение, которое сильно отличается от остальных.

Примеры выбросов:

  • возраст клиента 250 лет;
  • заказ на 5 000 000 ₽ среди обычных заказов по 2 000 ₽;
  • отрицательная цена товара;
  • 10 000 кликов от одного пользователя за минуту;
  • резкий скачок заявок в один день;
  • нулевая длительность сессии при большом количестве действий.

Выброс может быть ошибкой, а может быть важным сигналом.

Тип выбросаПримерЧто делать
Ошибка в данныхВозраст 250 летИсправить или исключить
Редкое, но реальное событиеОчень крупный заказИзучить отдельно
Технический сбойРезкий всплеск дублейПроверить источник
Важная аномалияПодозрительная транзакцияСохранить как сигнал

Главное правило: не удалять выбросы автоматически. Сначала нужно понять, почему они появились и важны ли они для задачи.

Этап 6. Анализ распределений

Распределение показывает, как значения расположены в данных.

Например, можно посмотреть:

  • как распределён возраст клиентов;
  • какие суммы заказов встречаются чаще;
  • сколько пользователей делает 1, 2, 3 и больше покупок;
  • как распределена длительность сессий;
  • какие значения целевой переменной встречаются чаще.

Распределения помогают увидеть:

  • перекосы;
  • длинные хвосты;
  • необычные пики;
  • редкие группы;
  • сильный дисбаланс классов;
  • признаки, которые нужно преобразовать перед моделью.

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

Этап 7. Анализ связей между признаками

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

Можно изучать связи между:

  • ценой и количеством покупок;
  • скидкой и конверсией;
  • возрастом клиента и средним чеком;
  • количеством визитов и вероятностью покупки;
  • каналом привлечения и удержанием;
  • активностью пользователя и риском оттока.

Для этого используют корреляции, группировки, диаграммы рассеяния, сводные таблицы и сравнение сегментов.

Но здесь важно помнить: связь между признаками не всегда означает причинно-следственную зависимость. Если два показателя растут вместе, это ещё не доказывает, что один влияет на другой.

Подробнее такие темы разбираются в материале статистика для Data Science.

Этап 8. Анализ целевой переменной

Если задача связана с машинным обучением, особенно важно изучить целевую переменную.

Целевая переменная - это то, что модель должна предсказывать.

Примеры:

  • клиент уйдёт или останется;
  • пользователь купит или не купит;
  • цена квартиры;
  • спрос на товар;
  • сумма заказа;
  • наличие дефекта;
  • категория обращения.

На этапе EDA нужно понять:

  • как распределена целевая переменная;
  • есть ли дисбаланс классов;
  • есть ли странные значения;
  • с какими признаками она связана;
  • можно ли вообще строить модель на этих данных.

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

Этап 9. Формулирование первых гипотез

EDA часто приводит к первым гипотезам.

Например:

  • клиенты из одного канала чаще покупают повторно;
  • пользователи с долгой паузой между визитами чаще уходят;
  • скидка работает только на новых клиентов;
  • заявки вечером чаще конвертируются в оплату;
  • товары с большим количеством отзывов покупают чаще;
  • чем дольше доставка, тем ниже повторная покупка.

Эти гипотезы ещё не являются доказанными выводами. Их нужно проверять: статистически, на дополнительных данных или через эксперимент.

Но именно EDA помогает увидеть, какие направления стоит исследовать дальше.

Какие графики используют в EDA

Визуализация - важная часть исследовательского анализа. Графики помогают быстрее заметить закономерности и проблемы.

ГрафикЗачем нужен
ГистограммаПоказать распределение числового признака
BoxplotНайти выбросы и сравнить распределения
Диаграмма рассеянияУвидеть связь между двумя числовыми признаками
Столбчатая диаграммаСравнить категории
Линейный графикПоказать динамику во времени
Тепловая картаПоказать корреляции или матричные данные
PairplotБыстро посмотреть связи между несколькими признаками

Плохая визуализация может запутать. Поэтому график нужно выбирать под вопрос. Если нужно показать динамику - подойдёт линия. Если распределение - гистограмма. Если выбросы - boxplot.

Инструменты для EDA

Для EDA используют базовые инструменты Data Science. Новичку не нужно начинать со сложных систем.

ИнструментЗачем нужен в EDA
PythonОбработка данных и автоматизация анализа
PandasРабота с таблицами, пропусками, группировками и статистиками
NumPyРасчёты и работа с массивами
MatplotlibБазовые графики
SeabornУдобные статистические визуализации
Jupyter NotebookПошаговый анализ с кодом, графиками и пояснениями
SQLПолучение и первичная агрегация данных из баз

Подробный обзор программ и библиотек есть в статье инструменты Data Science.

Пример EDA на простой задаче

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

Бизнес хочет понять, почему часть учеников бросает курс.

На этапе EDA можно проверить:

  • сколько всего учеников в данных;
  • какие курсы представлены;
  • есть ли пропуски в датах оплаты;
  • сколько учеников дошли до конца;
  • после каких уроков чаще уходят;
  • отличаются ли каналы трафика по доходимости;
  • влияет ли сдача первого домашнего задания на завершение курса;
  • есть ли ученики со странной активностью;
  • какие признаки могут быть связаны с оттоком.

После EDA могут появиться первые выводы. Например, ученики, которые не сдали первое задание за 7 дней, чаще бросают курс. Или ученики из определённого канала регистрации хуже доходят до середины программы.

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

EDA перед машинным обучением

Перед построением модели EDA особенно важен.

Он помогает понять:

  • достаточно ли данных;
  • есть ли целевая переменная;
  • нет ли утечки данных;
  • сбалансированы ли классы;
  • какие признаки можно использовать;
  • какие признаки нужно преобразовать;
  • есть ли выбросы, которые испортят модель;
  • какие метрики качества выбрать.

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

EDA помогает заметить такие проблемы до того, как модель попадёт в работу.

EDA и задачи Data Scientist

Исследовательский анализ данных встречается почти во всех задачах Data Scientist.

Он нужен при:

  • прогнозировании спроса;
  • анализе оттока клиентов;
  • сегментации аудитории;
  • построении рекомендательных систем;
  • поиске аномалий;
  • анализе отзывов;
  • проверке бизнес-гипотез;
  • подготовке данных к модели.

Без EDA специалист рискует работать с данными механически: загрузил таблицу, запустил модель, получил метрику. Но Data Science требует понимания, что происходит внутри данных.

Больше практических примеров можно посмотреть в статье задачи Data Scientist.

Что должно получиться после EDA

После хорошего EDA у специалиста должно быть понимание данных и план дальнейших действий.

Результатом EDA может быть:

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

EDA не обязан давать окончательный ответ на все вопросы. Его задача - снизить неопределённость и показать, куда двигаться дальше.

Частые ошибки новичков в EDA

Сразу строить модель

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

Удалять пропуски автоматически

Пропуск может быть важным сигналом. Например, отсутствие покупки тоже говорит о поведении пользователя. Перед удалением нужно понять смысл.

Удалять все выбросы

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

Смотреть только среднее значение

Среднее может обманывать. Нужно смотреть медиану, распределение, разброс, выбросы и сегменты.

Строить графики без вопроса

Графики нужны не для украшения. Каждый график должен помогать ответить на вопрос: что происходит с данными?

Путать корреляцию и причинность

Если два показателя связаны, это не значит, что один вызывает другой. Связь нужно проверять осторожно.

Не фиксировать выводы

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

Как новичку научиться делать EDA

Лучший способ - брать простые датасеты и разбирать их по одному шаблону.

Начните с такого плана:

  1. Опишите задачу.
  2. Посмотрите размер таблицы.
  3. Изучите столбцы и типы данных.
  4. Проверьте пропуски.
  5. Проверьте дубли.
  6. Посмотрите основные статистики.
  7. Постройте распределения.
  8. Найдите выбросы.
  9. Посмотрите связи между признаками.
  10. Сравните группы.
  11. Сформулируйте 5-7 выводов.
  12. Опишите, что делать дальше.

Для практики подойдут датасеты по продажам, оттоку клиентов, недвижимости, фильмам, отзывам, заказам или рекламе.

Хотите научиться делать EDA и строить проекты по Data Science?

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

Смотреть лучшие курсы по Data Science

Мини-чеклист EDA для новичка

Используйте этот чеклист перед анализом или моделью.

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

Краткий вывод

EDA в Data Science - это исследовательский анализ данных, который помогает понять датасет до построения моделей, отчётов и окончательных выводов.

На этапе EDA специалист изучает структуру данных, типы признаков, пропуски, дубли, выбросы, распределения, связи между признаками и первые закономерности.

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

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

Читайте также

FAQ

Что такое EDA в Data Science?

EDA - это исследовательский анализ данных. Он помогает изучить датасет до построения модели: понять структуру данных, найти пропуски, дубли, выбросы, распределения и связи между признаками.

Как расшифровывается EDA?

EDA расшифровывается как Exploratory Data Analysis. На русском используют варианты «исследовательский анализ данных» или «разведочный анализ данных».

Зачем нужен EDA?

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

Когда делают EDA?

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

Какие инструменты нужны для EDA?

Чаще всего используют Python, Pandas, NumPy, Matplotlib, Seaborn, Jupyter Notebook и SQL. Новичку этого набора достаточно для первых проектов.

Чем EDA отличается от аналитики данных?

EDA изучает сам датасет: структуру, пропуски, выбросы, распределения и связи. Аналитика данных чаще отвечает на конкретный бизнес-вопрос: что произошло, почему и что делать.

Нужно ли делать EDA перед машинным обучением?

Да. EDA помогает понять качество данных, найти утечки, дисбаланс классов, выбросы и важные признаки. Без него модель может дать ошибочный результат.

Что должно быть результатом EDA?

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

BI-аналитик. Пишет о старте в аналитике данных, инструментах (SQL/Excel/Power BI) и портфолио новичка. В обзорах курсов оценивает программы с позиции практики: чему научат, какие задачи сможете решать и как быстро выйти на первый проект.

Оцените автора
SkillGuid
Добавить комментарий