- Исследовательский анализ данных: практическое руководство и шаблон для структурированных данных
- Где находится EDA в процессе обработки данных
- Общее описание EDA
- Предварительная обработка данных
- Наше EDA начинается
- Пропущенные значения и дублированные записи
- Категориальные данные EDA
- Числовые данные EDA
- Временной ряд ЭДА
- Исследовательский анализ данных
- Смотреть что такое «Исследовательский анализ данных» в других словарях:
Исследовательский анализ данных: практическое руководство и шаблон для структурированных данных
Дата публикации Sep 24, 2019
Очень часто труднее всего рисовать не на рисунке, а на чистом белом листе бумаги.
Точно так же и для науки о данных можно задаться вопросом, с чего начать после получения набора данных. Здесь на помощь приходит исследовательский анализ данных (EDA).
Согласно Википедии, EDA «представляет собой подход к анализу наборов данных для обобщения их основных характеристик, часто с помощью визуальных методов». По моим собственным словам, речь идет о знании ваших данных, об их ознакомлении с данными до того, как вы начнете извлекать из них информацию.
Поскольку EDA является таким важным начальным шагом для всех проектов в области науки о данных, ленивый я решил написать шаблон кода для выполнения EDA на структурированных наборах данных. Идея состоит в том, чтобы тратить меньше времени на кодирование и больше внимания уделять анализу самих данных. Прокрутите вниз до ссылки для кода, но продолжайте читать, чтобы узнать больше об EDA и понять, что делает код.
Где находится EDA в процессе обработки данных
Прежде чем мы углубимся в EDA, важно сначала понять, как EDA вписывается в весь процесс обработки данных.
На основании диаграммы процесса из Википедии выше, после того, как данные были собраны, они подвергаются некоторой обработке перед очисткой, а затем выполняется EDA. Обратите внимание, что после EDA мы можем вернуться к обработке и очистке данных, т. Е. Это может быть итеративный процесс. Затем мы можем использовать очищенный набор данных и знания из EDA для моделирования и составления отчетов.
Поэтому мы можем понять цели EDA как таковые:
Чтобы получить понимание данных и найти подсказки из данных,
- сформулировать предположения и гипотезы для нашего моделирования; а также
- проверить качество данных для дальнейшей обработки и очистки при необходимости.
Чтобы лучше проиллюстрировать концепцию EDA, мы будем использоватьРоссманн магазин продаж «train.csv» данные из Kaggle, Учитывая, что задача состоит в прогнозировании продаж в магазине, наши цели EDA заключаются в следующем:
- Проверить наличие функций, которые могут помочь в прогнозировании продаж; а также
- Проверить наличие аномалий или выбросов, которые могут повлиять на нашу модель прогнозирования.
Общее описание EDA
Наш шаблон кода должен выполнить следующие шаги:
- Предварительный просмотр данных
- Проверьте общее количество записей и типов столбцов
- Проверьте любые нулевые значения
- Проверьте дубликаты записей
- График распределения числовых данных (одномерное и парное совместное распределение)
- Распределение количества данных категориальных данных
- Анализировать временные ряды числовых данных по дням, месяцам и годам.
Необходимые зависимости как таковые:
Предварительная обработка данных
Для начала, мы читаем в нашем наборе данных и генерируем простой предварительный просмотр и статистику наших данных.
Вывод показывает, что у нас есть около 1 миллиона записей с 9 столбцами. Нет нулевых значений, но некоторые типы данных столбцов должны быть изменены. Как мы увидим позже, правильная установка типов данных может помочь нам в наших процессах обработки данных. В двух словах, существует три распространенных типа данных (категориальный, числовой и дата-время), и у нас есть разные процедуры EDA для каждого из них.
В нашей предварительной обработке мы изменили типы данных следующим образом:
- Установить идентификаторхранитькак строка
- Для столбцов, которые являются категориальными, то есть столбцов, которые принимают ограниченное и обычно фиксированное число возможных значений, мы устанавливаем их тип как «категория». Например, пол, группа крови и страна — все это категориальные данные.
- Для столбцов, которые являются числовыми, мы можем установить их тип как «int64» (целое число) или «float64» (число с плавающей запятой). Например, продажи, температура и количество людей — все это числовые данные.
- ПоставилСвиданиекак тип данных «datetime64».
Наше EDA начинается
После настройки типов данных мы готовы начать веселье (например, EDA).
Чтобы создать вечеринку, нам просто нужно скопировать, вставить и запуститьшаблон кодакоторый содержит различные функции, а затем запустить функциюEDAкоторый принимает в качестве входных данных фрейм данных Pandas.
Вот и все! Просто 🙂
Давайте теперь рассмотрим основные части результатов, чтобы понять, как использовать наши результаты EDA.
Пропущенные значения и дублированные записи
В нашем случае нет записи с пропущенными значениями.
Однако в случае пропуска значений код сгенерирует диаграмму, аналогичную приведенной ниже. Обратите внимание на пробелы подПользовательский ИДа такжеОписание; это недостающие значения. Таким образом, одним взглядом, мы можем узнать степень проблемы с отсутствующими ценностями.
Часть кода, релевантная для проверки пропущенных значений, выглядит следующим образом.
В нашем случае также нет дублирующихся записей, на которые код будет указывать напрямую, печатая вывод «Не найдено дублированных записей»
В случае дублированных записей в выходных данных будет показано количество дублированных записей и предварительный просмотр этих записей.
Код для проверки дублированных записей:
Если будут какие-либо пропущенные значения или дублированные записи, вам следует принять решение о необходимых шагах очистки, прежде чем переходить к другим частям EDA.
Для справки о том, как обрабатывать пропущенные значения, вы можете обратиться к этомустатьяпоДжун Ву,
Для дублированных записей убедитесь, что они действительно дублированы, и добавьте их с помощью следующего кода.
Категориальные данные EDA
Наша главная цель EDA для категориальных данных — знать уникальные значения и их соответствующие значения.
Использование продаж в магазине Rossmann, например, столбецрекламныйуказывает, проводит ли магазин акцию в этот день. Подсчетрекламныйего уникальные значения показывают, что рекламные акции проводятся довольно часто, занимая около 40% (388 080/1 017 209) дней магазина. Это может означать, чторекламныйявляется важной особенностью в прогнозировании продаж.
Функция, генерирующая EDA для категориальных данных:categorical_eda,
Числовые данные EDA
Для числовых данных наш подход EDA заключается в следующем:
- График одномерного распределения каждой числовой информации
- Если доступны категориальные данные, постройте однофакторное распределение по каждому категориальному значению.
- Участок попарного совместного распределения числовых данных
До запускаEDAфункция, мы создали новый столбецave_salesразделивПродажинаКлиенты, так что мы можем проанализировать средние продажи на одного покупателя за день в магазине.
Первый вывод для наших числовых данных EDA показывает некоторую простую статистику распределения, которая включает среднее значение, стандартное отклонение и квартили.
Некоторые из пунктов, которые мы можем извлечь из результатов, включают:
- Нет отрицательных значений для всех числовых данных. Если есть какое-либо отрицательное значение, это может означать, что мы должны провести дальнейшее расследование, поскольку продажи и количество клиентов вряд ли будут отрицательными, и нам, возможно, придется затем очистить данные.
- Максимальные значения для числовых данных довольно далеки от 75-процентного, что указывает на то, что у нас могут быть выбросы.
Боксы также подтверждают, что есть / есть выбросы сПродажиболее 40000 илиКлиентыболее 7000 Поэтому мы можем провести проверку, чтобы убедиться, что это ошибка или были другие особые обстоятельства, приводящие к исключительным цифрам.
Мы также нанесли графики для каждого числового значения на скрипку по категориям, чтобы выяснить, например, влияниерекламныйнаПродажи,
Из приведенного выше сюжета для скрипки мы можем сделать вывод, что в дни продвижения по продажам продажи обычно увеличиваются, что видно из более широких участков сюжета для скрипки. Широкий участок участка около 0Продажидлярекламный= 0, вероятно, из-за закрытых магазинов. ЗапускEDAфункция снова позже после удаления записей соткрыто= 0 показывает, что широкого сечения вблизи 0 больше нет, что подтверждает нашу гипотезу.
Последний вывод для числовых данных EDA представляет собой график распределения парных соединений.
Чтобы генерировать дальнейшие идеи, мы запустили функциюnumeric_edaи добавил параметрОттенок = «DayOfWeek», Это позволяет нам раскрасить наш попарный график по каждому дню недели.
ВключаяДень неделиНа графике мы заметили, что воскресные ave_sales (обозначенные розовым цветом) относительно более постоянны, чем в другие дни. Следовательно, это то, что может быть дополнительно исследовано и рассмотрено как предиктор.
Временной ряд ЭДА
Наконец, мы также построили графики временных рядов, чтобы проверить тенденции и сезонность.
Для удобства анализа наш код автоматически суммирует числовые данные по дням, месяцам и годам, прежде чем строить графики. Это достигается благодаряМетод повторной выборки Pandas,
В нашем случае годовой график бесполезен, поскольку данные содержат только частичные данные за 2015 год, поэтому мы оставили его на скриншотах.
На дневном графике мы видим, что к концу декабря 2013 года есть выбросы. Это также отражается на месячном графике.
Ежемесячный график также показывает, что существует некоторая сезонность, а именно снижение продаж в феврале, что, вероятно, связано с эффектом короткого месяца, а также более высокие продажи к концу года. Если мы прогнозируем ежемесячные продажи, наше прогнозирование должно учитывать этот эффект сезонности.
Посредством приведенных выше примеров мы надеемся продемонстрировать, как EDA используется для формулирования предположений и гипотез для нашего моделирования, а также для проверки качества данных для дальнейшей обработки и очистки.
Если вы пропустилиссылка на шаблон кодавот и снова.
И наконец, обратите внимание, что в зависимости от постановки задачи по науке о данных, вы можете выполнить дополнительные шаги EDA. Тем не менее, шаблон кода должен быть в состоянии покрыть базовую EDA и быстро освоить
Спасибо за чтение, и я надеюсь, что код и статья полезны. Пожалуйста, не стесняйтесь комментировать любые вопросы или предложения, которые могут у вас возникнуть.
Источник
Исследовательский анализ данных
Исследовательский анализ данных это подход к анализу данных с целью формулировки гипотез стоящих тестирования, дополняющий инструментами стандартной статистики для тестирования гипотез. Названо Джоном Тьюки для отличия от проверки статистических гипотез, термином используемым для набора идей о тестировании гипотез, достигаемом уровне значимости, доверительном интервале и прочих, которые формируют ключевые инструменты в арсенале практикующих статистиков.
Wikimedia Foundation . 2010 .
Смотреть что такое «Исследовательский анализ данных» в других словарях:
ИССЛЕДОВАТЕЛЬСКИЙ АНАЛИЗ ДАННЫХ — (explanatory data analysis) форма статистического анализа, который начинается скорее с исследования данных, чем с проверки четко сформулированной предшествующей гипотезы. Само название говорит о том, что исследуется образец совокупности… … Большой толковый социологический словарь
Анализ данных — В этой статье не хватает ссылок на источники информации. Информация должна быть проверяема, иначе она может быть поставлена под сомнение и удалена. Вы можете отредактировать эту статью, добавив ссылки на авторитетные источники. Эта отметка… … Википедия
ИССЛЕДОВАТЕЛЬСКИЙ МЕТОД — обучения, организация поисковой, познават. деятельности учащихся путём постановки учителем познават. и практич. задач, требующих самостоят, творческого решения. Сущность И. м. обусловлена его функциями. Он организует творческий поиск и применение … Российская педагогическая энциклопедия
ИССЛЕДОВАТЕЛЬСКИЙ МЕТОД обучения — организация поисковой, познават. деятельности учащихся путём постановки учителем познават. и практич. задач, требующих самостоят. творческого решения. Сущность И. м. обусловлена его функциями. Он организует творческий поиск и применение знаний,… … Российская педагогическая энциклопедия
Научно-исследовательский институт ядерной физики им. Д. В. Скобельцына — Научно исследовательский институт ядерной физики имени Д. В. Скобельцына Московского государственного университета имени М. В. Ломоносова (НИИЯФ МГУ) Международное название Skobeltsyn Institute of Nuclear Physics, Lomonosov Moscow State… … Википедия
Научно-исследовательский институт социально-трудовых отношений — Государственное учреждение Научно исследовательский институт социально трудовых отношений Год основания … Википедия
Российский научно-исследовательский институт культурного и природного наследия имени Д. С. Лихачёва — (Институт Наследия) Тип Научно исследовательский институт Основатели Юрий Веденин Расположение Москва … Википедия
Четвёртый центральный научно-исследовательский институт Министерства обороны Российской Федерации (4 ЦНИИ МО) — Научно исследовательское учреждение, предназначенное для решения проблем обоснования направлений развития и поддержания высокой боевой готовности и эффективности ракетно ядерных вооружений, космических систем, систем и средств Ракетно космической … Энциклопедия РВСН
30-й центральный научно-исследовательский институт Министерства обороны Российской Федерации — 30 й Центральный ордена Красной Звезды научно исследовательский институт Министерства обороны РФ (30 ЦНИИ МО РФ) … Википедия
Каспийский научно-исследовательский институт рыбного хозяйства — КаспНИРХ Каспийский научно исследовательский институт рыбного хозяйства одно из старейших научных учреждений России. Каспийский научно исследовательский институт рыбного хозяйства (КаспНИРХ) Международное название Federal State… … Википедия
Источник