Автор оригинала: Harshit Tyagi.
Как исследовать набор данных с помощью python?
- “”Как мне получить толчок в области науки о данных/машинного обучения/анализа данных?”
- “Какими должны быть мои первые шаги к установлению связи с набором данных, когда он у вас есть?”
- “Как определить набор вопросов, рассматривая набор данных во время исследовательского анализа?”
Если вы ищете ответ на любой из вышеперечисленных вопросов, то эта серия блогов действительно должна помочь вам начать работу.
Итак, что же такое Исследовательский анализ данных (EDA)?
Исследовательский анализ данных (EDA) – это важнейший компонент науки о данных, который позволяет вам понять суть того, как выглядят ваши данные и на какие вопросы они могут дать ответы.
В конечном счете, ЭДА важна, потому что она позволяет исследователю принимать критические решения о том, что интересно исследовать, а что, вероятно, не стоит продолжать, и таким образом строить гипотезу, используя отношения между переменными.
Немного контекста
Это серия из двух частей, в которой мы рассмотрим набор данных фильмов из Kaggle и проведем некоторый исследовательский анализ, чтобы исследовать эти данные.
В этом уроке мы будем использовать python. Я предлагаю вам освежить свои основы python, прежде чем читать дальше. Я собираюсь рассказать вам о шагах, которые я предпринял, чтобы выполнить A на наборе данных.
Набор данных IMDB movies можно найти здесь . Существуют различные способы сбора данных, о которых мы поговорим в другом посте. Как аналитик данных, моя работа состоит в том, чтобы уметь задавать ряд вопросов, читать между строк и находить ответы на эти вопросы.
Я разбил это на 3 части:-
- Очистка: Проверка наличия проблем с собранными данными, таких как отсутствие данных или ошибка измерения, тип данных столбцов и т. Д.)
- Определение вопросов : Определение отношений между переменными, которые являются особенно интересными или неожиданными.
- Использование эффективных визуализаций для передачи моих результатов(будет рассмотрено во 2-й части.
Я использовал блокноты jupyter , поскольку нахожу их лучшими для очистки данных, преобразования, численного моделирования, визуализации данных. Дополнительным преимуществом Jupyter Notebook является то, что вы можете взять тот же самый блокнот Jupyter, который вы использовали для моделирования и визуализации набора данных, и использовать его в качестве слайд-шоу для технической презентации.
Код для этого поста можно найти на моем Github:
harshit codes/imdb_movie_data_analysis __эксплоративный анализ данных, чтобы начать копаться в этих вопросах, с данными о сюжете, актерском составе, съемочной группе, бюджете, and…_github.com
Первым шагом является создание виртуальной среды, в которой вы будете устанавливать все свои пакеты. Ниже приведена команда, которая установит для нас 4 пакета с помощью pip.
pip install numpy pandas seaborn matplotlib
- Numpy : Фундаментальный пакет для научных вычислений с Python.
- Pandas : Библиотека, предоставляющая высокопроизводительные, простые в использовании структуры данных и инструменты анализа данных для языка программирования Python .
- Matplotlib : Библиотека 2D-графиков Python, которая производит показатели качества публикации в различных печатных форматах и интерактивных средах на разных платформах.
- Seaborn : Библиотека визуализации данных Python на основе matplotlib . Он обеспечивает высокоуровневый интерфейс для рисования привлекательной и информативной статистической графики.
Импортируйте пакеты python, которые вам нужно будет очистить, сжать и визуализировать. Я импортировал пакеты, и вторая часть (как pd ) предназначена только для удобства, чтобы мне не приходилось писать ” pandas .command” каждый раз, когда я ее использую.
Загрузка данных из пути:
Здесь я использовал функцию read_csv pandas, которая возвращает быстрый и эффективный объект Data Frame для манипулирования данными с интегрированной индексацией. У меня есть два фрейма данных из movies_df и credits_df.
movies_df.head() будет отображать первые 5 строк фрейма данных. Вы можете передать количество строк, которые хотите увидеть, методу head. Взгляните на фрейм данных, который у нас есть:
Прежде чем мы начнем искать скрытые ответы в этих данных, мы должны очистить данные, чтобы подготовить их к анализу.
#1 Процесс Очистки Данных
Очистка данных является первым и очень важным шагом в общем процессе подготовки данных и представляет собой процесс анализа, выявления и исправления беспорядочных, необработанных данных . При анализе организационных данных для принятия стратегических решений необходимо начинать с тщательной очистки данных процесса.
Нам нужно удалить неиспользуемые столбцы, такие как id, imdb_id, vote_count, production_company, keywords, homepage и т. Д. Всегда легче принимать решения на основе данных, которые действительно актуальны и лаконичны. Вот как вы можете удалить избыточные столбцы из фрейма данных:
Удаление дубликатов в строках (если таковые имеются):
Некоторые фильмы в базе данных имеют нулевой бюджет или нулевой доход, что означает, что их значения не были записаны или какая-то информация отсутствует. Мы будем отбрасывать такие записи из фрейма данных:
Чтобы легко манипулировать столбцами, важно использовать объекты python. Изменение столбца даты выпуска в формат даты и извлечение года из этой даты, что поможет нам в анализе годовых данных.
Аналогично, измените формат столбцов бюджета и доходов на integer с помощью метода int64 numpy.
При проверке набора данных мы видим, что жанры, ключевые слова, production_companies, production_countries, spoken_languages находятся в формате JSON, который будет делать это при манипулировании фреймом данных. Теперь давайте сгладим эти столбцы в формат, который можно легко интерпретировать.
Мы преобразуем их в строки, а затем преобразуем в списки. Написание универсальной функции для разбора столбцов JSON.
После очистки данные выглядят следующим образом:
#2 Определение связей между переменными/признаками
Главная цель здесь-выявить и создать отношения, которые могут помочь вам построить гипотезу. Мы должны определить вопросы, которые могут помочь нам построить некоторые отношения.
В этот момент, когда я изучал этот набор данных, у меня возникли следующие вопросы. Вы можете придумать другой набор вопросов, которые не перечислены ниже:
Какие 5 самых дорогих фильмов? Сравнение между крайностями? Исследуя самые дорогие фильмы, он может сказать вам, стоили ли они вообще потраченных на них денег, основываясь на их производительности и полученном доходе.
Поскольку нам нужно сравнить минимумы и максимумы в 3 вопросах, мы можем написать универсальную функцию, чтобы сделать это за нас и повторно использовать ее.
Топ-5 самых прибыльных фильмов? Сравнение минимальной и максимальной прибыли. Сравнение помогает нам выявить различные подходы, которые потерпели неудачу и преуспели. Если я вычту бюджет из полученного дохода, это даст мне полученную прибыль.
Большинство говорили о кино.
Среднее время выполнения фильмов? Сравнение между крайностями.
Фильмы с рейтингом выше 7
В каком году у нас были самые прибыльные фильмы? Это поможет вам поднять некоторые более глубокие вопросы о тех годах, когда фильмы не были хороши или когда они были хороши. Это предварительные вопросы, которые порождают вопросы, дающие более глубокое понимание.
Давайте посмотрим на распространение прибыльных фильмов за эти годы
Чтобы найти год, в котором у нас было наибольшее количество прибыльных фильмов, мы использовали метод idxmax:
Это даст нам 2014 год. Вы можете посмотреть все выходные данные этих фрагментов кода в записной книжке Ipython здесь .
Теперь, когда мы проанализировали, что содержит этот набор данных, пришло время попытаться построить историю, которая может предсказать вероятность успеха фильма на основе выбранных функций/переменных. Следовательно, нам нужно определить факторы, которые делают фильм е частотой фильмов в каждом жанре. 2. Частый актерский состав в фильмах — сюжет, показывающий спектр фильмов для каждого актера. 3. Средний бюджет прибыльных фильмов — какой средний бюджет выделяется 4. Средняя продолжительность самых прибыльных фильмов. 5. Язык самых прибыльных фильмов.
Ответы на все вышеперечисленные вопросы помогли бы нам построить нашу гипотезу, которая заключается в следующем: “Каков рецепт создания блокбастера, прибыльного фильма?”
В следующем посте я собираюсь обсудить, как мы можем использовать библиотеки Matplotlib и seaborn для визуализации(#3 в этом процессе) ответов на вышеперечисленные вопросы.
Мы завершим исследование в следующей части(ссылка ниже) со всеми выводами и визуализациями.