Оглавление :-

Понимание данных.

Что такое ЭДА?

что такое одномерный, двумерный и многомерный анализ.

Профилирование Pandas.

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

Чтобы понять различные аспекты набора данных, ЗАДАЙТЕ 7 ВОПРОСОВ.

Давайте обсудим эти 7 вопросов с помощью очень известного «титанического» набора данных.

import pandas as pd
df = pd.read_csv("D:/Machine Learning/EDA/Titanic-Dataset.csv")

Que1) Насколько велики данные?

df.shape

Выход :-

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

Que2) Как выглядят данные?

df.head()

Выход :-

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

Que3) Каков тип данных столбцов?

df.info()

Выход :-

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

Que4) Есть ли пропущенные значения?

df.isnull().sum()

Выход :-

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

Que5) Как выглядят данные математически?

df.describe()

Выход :-

Этот вопрос фокусируется на изучении статистических свойств данных. Путем расчета описательной статистики, такой как показатели центральной тенденции (среднее, медиана) и дисперсии (дисперсия, стандартное отклонение).

Que6) Есть ли повторяющиеся значения?

df.duplicated().sum()

Выход :-

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

Que7) Какова корреляция между столбцами?

df.corr()

Выход :-

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

Отвечая на эти семь вопросов, мы создаем прочную основу для проведения полезного "исследовательского анализа данных (EDA)" и извлечения ценных выводов из данных простым и понятным способом.

Ссылка на код и набор данных :-



Что такое исследовательский анализ данных (EDA)?

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

Типы методов EDA:-

  1. Одномерный анализ: -
  2. Двумерный анализ: -
  3. Многомерный анализ: -

  1. Одномерный анализ:-

Одномерный анализ в исследовательском анализе данных (EDA) включает анализ и обобщение одной переменной для получения информации и закономерностей.

Давайте разберемся с одномерным анализом с помощью «титанического» набора данных.

import pandas as pd
import seaborn as sns

Категорические данные :-

  1. График подсчета: -График подсчета отображает количество или частоту наблюдений для различных категорий.
sns.countplot(df['Survived'])
df['Survived'].value_counts()
#df['Survived'].value_counts().plot(kind='bar')

Вывод: - На графике ниже показано количество выживших и невыживших людей.

2. Круговая диаграмма: - Круговая диаграмма используется для получения информации в процентах.

df['Survived'].value_counts().plot(kind='pie',autopct='%.2f')

Вывод: из 100% погибло 61,62% людей и выжило только 38,38% человек.

Числовые данные:-

  1. Гистограмма: представляет распределение непрерывной или числовой переменной. Он состоит из ряда смежных столбцов, где ширина каждого столбца представляет собой диапазон значений, а высота каждого столбца соответствует частоте или количеству наблюдений в этом диапазоне.
import matplotlib.pyplot as plt
plt.hist(df['Age'],bins=5)

Выход :-

2. График распределения: - показывает распределение данных. Он представляет собой функцию распределения вероятностей. это дает вероятность по оси Y.

sns.distplot(df['Age'])

Выход :-

3. Блочная диаграмма. Блочная диаграмма — это графическое представление распределения числовой переменной, показывающее ее медиану, квартили и потенциальные выбросы. Это дает 5-кратное резюме.

sns.boxplot(df['Fare'])

Выход :-

Ссылка на код и набор данных :-



2.Двумерный и многомерный анализ: –

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

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

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

import pandas as pd
import seaborn as sns
tips = sns.load_dataset('tips')
flights = sns.load_dataset('flights')
iris = sns.load_dataset('iris')
titanic = pd.read_csv("D:/Machine Learning/EDA/Titanic-Dataset.csv")

1. Точечная диаграмма (числовая — числовая): — Точечная диаграмма — это графическое представление, которое отображает взаимосвязь и распределение двух непрерывных переменных через набор точек в системе координат.

#sns.scatterplot(tips['total_bill'],tips['tip'],hue=tips['sex'],style=tips['smoker'],size=tips['size'])
sns.scatterplot(data = tips,x='total_bill',y='tip',hue='sex',style='smoker',size='size')

Выход :-

2. Гистограмма (Числовой — Категориальный) :-
Гистограмма — это визуальное представление, в котором используются прямоугольные столбцы для отображения частоты, количества или распределения различных категорий или уровней категориальной переменной.

sns.barplot(data=titanic, x='Pclass', y='Age', hue='Sex')
#sns.barplot(data = titanic, titanic['Pclass'],titanic['Age'],hue=titanic['Sex'])

Выход :-

3. Коробчатая диаграмма (числовая — категориальная): — блочная диаграмма используется для выявления выбросов.

sns.boxplot(data =titanic, x='Sex',y='Age',hue='Survived')
#sns.boxplot(titanic['Sex'],titanic['Age'],hue=titanic['Survived'])

Выход :-

4. Distplot (Числовой — Категориальный): — Distplot — это визуализация, которая объединяет гистограмму и оценку плотности ядра для представления распределения.

sns.distplot(titanic[titanic['Survived']==0]['Age'],hist=False)
sns.distplot(titanic[titanic['Survived']==1]['Age'],hist=False)

Выход :-

5. Тепловая карта (категориальная — категориальная): — тепловая карта — это графическое представление, в котором используются цвета для отображения интенсивности или величины значений в матрице или таблице.

sns.heatmap(pd.crosstab(titanic['Pclass'],titanic['Survived']))

Выход :-

6. Карта кластера (категориальная — категориальная): — карта кластера — это визуальное представление, в котором используется иерархическая кластеризация для группировки и отображения сходств или различий между переменными или выборками в наборе данных.

sns.clustermap(pd.crosstab(titanic['Parch'],titanic['Survived']))

Выход :-

7. Парный график (числовой — числовой): — парный график — это визуальное представление, которое отображает парные отношения между переменными в наборе данных с использованием точечных диаграмм или других типов графиков.

Это набор точечных диаграмм.

sns.pairplot(iris,hue='species')

Выход :-

8. Линейный график (Числовой — Числовой): — Линейный график — это визуальное представление, которое отображает тенденцию и шаблон переменной по непрерывной оси, используя соединенные сегменты линии для представления значений по этой оси.

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

new = flights.groupby('year').sum().reset_index()
sns.lineplot(new['year'],new['passengers'])

Выход :-

Ссылка на код и набор данных :-



Профилирование Pandas:-

Профилирование Pandas — это библиотека Python, которая создает исчерпывающий отчет в формате HTML, предоставляющий описательную статистику и информацию о данном наборе данных. Используя библиотеку pandas-profiling, пользователи могут быстро создать обзор данных, включая информацию о типах данных, отсутствующих значениях, корреляциях и основных статистических показателях.

import pandas as pd
df = pd.read_csv("D:/Machine Learning/EDA/Titanic-Dataset.csv")
!pip install pandas-profiling
from pandas_profiling import ProfileReport
prof = ProfileReport(df)  # Creating object of profile report.
prof.to_file(output_file='output.html') # Converting object into a file which is in the form of HTML 

После выполнения вышеуказанного кода будет создан новый файл с именем «output.html». Этот файл содержит все отчеты, связанные с данными.

Ссылка на файл HTML:-



Ссылка на код и набор данных:-



Спасибо, что присоединились ко мне в этом увлекательном путешествии по исследовательскому анализу данных (EDA).

Я надеюсь, что этот блог расширил ваше понимание EDA и его различных методов. Помните, EDA — это не просто процесс; это путь к ценной информации и раскрытию истинного потенциала ваших данных.

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