Рубрики
Без рубрики

Почему вам нужно исследовать ваши данные и Как вы можете начать

Мы живем в мире, где миллионы данных генерируются каждый день, от смартфонов мы используем … Теги с Python.

Мы живем в мире, где миллионы данных генерируются каждый день, из смартфонов, которые мы используем каждый день, что мы ищем на Google или Bing, что мы публикуем, например, комментарий или делитесь в разных платформах социальных сетей, что мы покупаем в E -Мемери сайты, данные, генерируемые машинами и другими источниками. Мы находимся в возрасте данных, а данные – это новое масло.

Быстрый факт: Статья в Forbes утверждает, что «количество данных, которые мы производим каждый день, является действительно ошеломляющим. Существует 2,5 квинтиллионных байтов данных, созданных каждый день на нашем текущем темпе «.

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

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

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

В этой статье вы узнаете

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

Что такое анализ информационных данных?

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

Это хорошая практика, чтобы сначала понять данные и попытаться собраться как много пониманий.

Почему исследовательский анализ данных важен?

Исследуя ваши данные, вы можете получить пользу по-разному, как: –

  • Определение наиболее важных переменных/функций в вашем наборе данных.
  • Тестирование гипотезы или проверки допущений, связанных с набором данных.
  • Чтобы проверить качество данных для дальнейшей обработки и очистки.
  • Доставьте данные, ориентированные на данные для заинтересованных сторон бизнеса.
  • Убедитесь, что ожидаемые отношения фактически существуют в данных.
  • Найти неожиданные структуры или шаблоны в данных.

Пакеты Python для разведочного анализа данных

Следующие пакеты Python помогут вам начать изучать ваш набор данных.

  • Пандас – это пакет Python сосредоточен на анализе данных.
  • Numpy – это универсальный пакет обработки массива.
  • MATPLOTLIB- – это библиотека построения на Python 2D, которая производит фигуры качества публикации в различных форматах.
  • Meanborn – это библиотека визуализации данных Python на основе MATPLOTLIB. Он обеспечивает интерфейс высокого уровня для рисования привлекательной и информативной статистической графики.

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

Исследуемый анализ данных для финансового включения в набор данных Африки

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

1. 1. Заявление о проблеме

Финансовое включение остается одним из главных препятствий в экономическом и человеческом развитии в Африке. Например, по всей Кении, Руанде, Танзании и Уганде всего 9,1 млн. Взрослых (или 13,9% взрослого населения) имеют доступ или использовать коммерческие банковские счета.

Традиционно доступ к банковским счетам был расценен как показатель финансовой интеграции. Несмотря на распространение мобильных денег в Африке, а также рост инновационных решений Fintech, банки по-прежнему играют ключевую роль в содействии доступу к финансовым услугам. Доступ к банковским счетам позволяет домашним хозяйствам сохранять и облегчить платежи, а также помогая предприятиям наращивать их кредитоспособность и улучшить свой доступ к другим финансовым услугам. Следовательно, доступ к банковским счетам является важным вкладным в долгосрочном экономическом росте.

Чтобы узнать больше о заявлении о проблеме Посетите Zindi Африка конкуренция О финансовой интеграции в Африку.

2.Тяп проблемы

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

3. Выпотежительство

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

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

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

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

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

# import important modules  
import pandas as pd 
import numpy as np 
import matplotlib.pyplot as plt 
import seaborn as sns  
plt.rcParams["axes.labelsize"] = 18 
import warnings 
warnings.filterwarnings('ignore') %matplotlib inline

Загрузить финансовый набор данных включения.

# Import data
data = pd.read_csv('../data/financial_inclusion.csv')

Давайте посмотрим в форму наших данных.

# print shape 
print('train data shape :', data.shape)
train data shape : (23524, 13)

В нашем наборе данных у нас есть 13 столбцов и 23544 строк.

Мы можем наблюдать первые пять строк из наших данных, установленных с помощью метода Head () из библиотеки PandaS.

# Inspect Data by showing the first five rows 
data.head()

Важно понимать значение каждой функции, чтобы вы могли действительно понять набор данных. Нажмите здесь Чтобы получить определение каждой функции, представленной в наборе данных. Мы можем получить больше информации о функциях, представленных с помощью Информация () Метод от панды.

# show Some information about the dataset 
print(data.info())

Вывод показывает список переменных/функций, размеров, если он содержит недостающие значения и тип данных для каждой переменной. Из набора данных у нас нет отсутствующих значений, и у нас есть 3 функции целочисленного типа данных и 10 функций типа данных объекта.

Если вы хотите узнать, как обрабатывать недостающие данные в вашем наборе данных, я рекомендую вам прочитать эту статью «Как обрабатывать недостающие данные с Python» Джейсон Браунна.

4.Univariate Анализ

В этом разделе мы сделаем однонамерный анализ. Это самая простая форма анализа данных, где мы изучаем каждый Переменная индивидуально Отказ Для категорических функций мы можем использовать таблицы частоты или планки, которые рассчитают количество каждой категории в определенной переменной. Для численных особенностей, участки плотности вероятности могут быть использованы для распределения распределения переменной.

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

# Frequency table of a variable will give us the count of each category in that Target variable.
data['bank_account'].value_counts()
# Explore Target distribution 
sns.catplot(x="bank_account", kind="count", data= data)

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

# Explore Country distribution 
sns.catplot(x="country", kind="count", data=data)

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

# Explore Location distribution 
sns.catplot(x="location_type", kind="count", data=data)

В функции Loading_Type у нас большое количество людей живут в сельских районах, чем в городских районах.

# Explore Years distribution 
sns.catplot(x="year", kind="count", data=data)

В этой области большинство данных были собраны в 2016 году.

# Explore cellphone_access distribution 
sns.catplot(x="cellphone_access", kind="count", data=data)

В функции Cellphone_Access большинство участников имеют доступ к мобильному телефону.

# Explore gender_of_respondents distribution 
sns.catplot(x="gender_of_respondent", kind="count", data=data)

В функции Gender_of_Respondent у нас больше женщин, чем мужчин.

# Explore relationship_with_head distribution 
sns.catplot(x="relationship_with_head", kind="count", data=data);
plt.xticks(
    rotation=45, 
    horizontalalignment='right',
    fontweight='light',
    fontsize='x-large'  
)

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

# Explore marital_status  distribution 
sns.catplot(x="marital_status", kind="count", data=data);
plt.xticks(
    rotation=45, 
    horizontalalignment='right',
    fontweight='light',
    fontsize='x-large'  
)

В функции Marital_Status большинство участников женаты/живущие вместе.

# Explore education_level  distribution 
sns.catplot(x="education_level", kind="count", data=data); 

plt.xticks(
    rotation=45, 
    horizontalalignment='right',
    fontweight='light',
    fontsize='x-large'  
)

В функции Education_level большинство участников имеют основной уровень образования.

# Explore job_type distribution 
sns.catplot(x="job_type", kind="count", data=data); 

plt.xticks(
    rotation=45, 
    horizontalalignment='right',
    fontweight='light',
    fontsize='x-large'  
)

В функции job_type большинство участников самозанятыми.

# Explore household_size distribution 

plt.figure(figsize=(16, 6))
data.household_size.hist() 
plt.xlabel('Household  size')

Womate_size обычно не распространяется, и самое распространенное количество людей, живущих в доме, 2.

# Explore age_of_respondent distribution 
plt.figure(figsize=(16, 6))
data.age_of_respondent.hist() 
plt.xlabel('Age of Respondent')

В нашей последней функции под названием Age_of_Respondent, большая часть возраста участника составляет от 25 до 35 лет.

5. Бивари Анализ

Бивариатный анализ – одновременный анализ двух переменных (атрибутов). Это исследует концепцию отношений между двумя переменными, существует ли ассоциацию и силу этой ассоциации или существуют ли различия между двумя переменными и значением этих различий.

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

#Explore location type  vs bank account 
plt.figure(figsize=(16, 6))
sns.countplot('location_type', hue= 'bank_account', data=data)
plt.xticks(
    fontweight='light',
    fontsize='x-large'  
)

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

#Explore gender_of_respondent vs bank account 
plt.figure(figsize=(16, 6))
sns.countplot('gender_of_respondent', hue= 'bank_account', data=data)
plt.xticks(
    fontweight='light',
    fontsize='x-large'  
)

В приведенном выше схеме мы пытаемся сравнить целевую переменную (Bank_account) против Gender_of_Respondentent. Сюжет показывает, что существует небольшая разница между мужчинами и женщинами, у которых есть банковские счета (количество мужчин больше женщин). Это доказывает наше предположение, что у женщин меньше шансов иметь банковские счета.

#Explore cellphone_accesst vs bank account 
plt.figure(figsize=(16, 6))
sns.countplot('cellphone_access', hue= 'bank_account', data=data)
plt.xticks(
    fontweight='light',
    fontsize='x-large'  
)

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

#Explore 'education_level vs bank account 
plt.figure(figsize=(16, 6))
sns.countplot('education_level', hue= 'bank_account', data=data)
plt.xticks(
    rotation=45, 
    horizontalalignment='right',
    fontweight='light',
    fontsize='x-large'  
)

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

#Explore job_type vs bank account 
plt.figure(figsize=(16, 6))
sns.countplot('job_type', hue= 'bank_account', data=data)
plt.xticks(
    rotation=45, 
    horizontalalignment='right',
    fontweight='light',
    fontsize='x-large'  
)

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

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

Но что, если у вас есть набор данных с более чем 100 функциями (столбцы)? Как вы думаете, пытаясь проанализировать каждую индивидуальную функцию, один за другим будет лучшим способом. Наличие многих функций в вашем наборе данных означает, что потребуется много времени, чтобы проанализировать и находить идеи в вашем наборе данных.

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

Пакет профилирования данных

Профилирование – это процесс, который поможет вам понять ваши данные, и Pandas Profific – это пакет Python, который имеет именно это. Это простой и быстрый способ выполнить анализ исследовательских данных Pandas DataFrame.

Пандас df.describe () и df.info () Функции обычно используются в качестве первого шага в процессе EDA. Тем не менее, он дает только очень базовый обзор данных и не помогает многого внимания в случае больших наборов данных. Функция профилирования Pandas, с другой стороны, продлевает PandaFrame Pandas с df.profile_Report () Для быстрого анализа данных.

Pandas Profieling генерирует полный отчет для вашего набора данных, который включает в себя:

  • Основные данные типа данных.
  • Описательная статистика (среднее, медиана и т. Д.).
  • Общие и крайние значения.
  • Кванльная статистика (говорит вам о том, как ваши данные распространяются).
  • Гистограммы для ваших данных (для визуализации распределений).
  • Корреляции (показывать функции, которые связаны).

Как установить пакет

Существует три способа установки Pandas-Profific на вашем компьютере.

Вы можете установить с помощью управляющего пакета PIP, запустив.

pip install pandas-profiling

Кроме того, вы можете установить напрямую из GitHub:

pip install https://github.com/pandas-profiling/pandas-profiling/archive/master.zip

Вы можете установить с помощью менеджера Puda Package, запустив.

conda install -c conda-forge pandas-profiling

После установки пакета теперь вам необходимо импортировать пакет, написав следующие коды.

#import the package 
import pandas_profiling

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

# generate report 
eda_report = pandas_profiling.ProfileReport(data)
eda_report

В приведенных выше кодах мы добавляем наш объект данных в методе ProfileReport, который будет генерировать отчет.

Если вы хотите создать файл отчета о HTML, сохраните ProfiLerePort к объекту и используйте to_file () Функция:

#save the generated report to the html file
eda_report.to_file("eda_report.html")

Теперь вы можете открыть файл eda_report.html в вашем браузере и соблюдайте вывод, сгенерированный по пакету.

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

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

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

Эта статья впервые появилась на Средний Отказ

Оригинал: “https://dev.to/davisy/why-you-need-to-explore-your-data-how-you-can-start-1dil”