Оглавление :-
Понимание данных.
Что такое ЭДА?
что такое одномерный, двумерный и многомерный анализ.
Профилирование 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:-
- Одномерный анализ: -
- Двумерный анализ: -
- Многомерный анализ: -
- Одномерный анализ:-
Одномерный анализ в исследовательском анализе данных (EDA) включает анализ и обобщение одной переменной для получения информации и закономерностей.
Давайте разберемся с одномерным анализом с помощью «титанического» набора данных.
import pandas as pd import seaborn as sns
Категорические данные :-
- График подсчета: -График подсчета отображает количество или частоту наблюдений для различных категорий.
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% человек.
Числовые данные:-
- Гистограмма: представляет распределение непрерывной или числовой переменной. Он состоит из ряда смежных столбцов, где ширина каждого столбца представляет собой диапазон значений, а высота каждого столбца соответствует частоте или количеству наблюдений в этом диапазоне.
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 — это не просто процесс; это путь к ценной информации и раскрытию истинного потенциала ваших данных.
Еще раз спасибо, что присоединились ко мне в этом путешествии по исследованию данных. Пусть ваш будущий анализ будет наполнен ценными открытиями и захватывающими идеями.