PAIRPLOT VISUALIZATION
Pairplot visualization comes handy when you want to go for Exploratory data analysis (“EDA”).
Pairplot visualizes given data to find the relationship between them where the variables can be continuous or categorical.
Plot pairwise relationships in a data-set.
Pairplot is a module of seaborn library which provides a high-level interface for drawing attractive and informative statistical graphics.
Let’s see how the same has been done.
- Get your data
As observed from the data , you can see there are both continuous and categorical columns in data-set.
Let’s plot data using pairplot:
From the picture below, we can observe the variations in each plot. The plots are in matrix format where the row name represents x axis and column name represents the y axis. The main-diagonal subplots are the univariate histograms (distributions) for each attribute.
Pairplot Parameters:
seaborn.pairplot (data, hue=None, hue_order=None, palette=None, vars=None, x_vars=None, y_vars=None, kind='scatter', diag_kind='auto', markers=None, height=2.5, aspect=1, dropna=True, plot_kws=None, diag_kws=None, grid_kws=None, size=None)
Except data, all other parameters are optional. There are few other parameters which pairplot can accept.
Getting understanding on some commonly used parameters — →
different levels of a categorical variable by the color of plot elements:
Hue helps you to get the difference in variable in data to map plot aspects to different colors.
sns.pairplot(df, hue=”smoker”)
Use a different color palette.
Its basically a set of colors for mapping the hue variable.
g = sns.pairplot(df, hue=”smoker”, palette=”husl”)
Use different markers for each level of the hue variable:
sns.pairplot(df, hue=”smoker”, markers=[“o”, “s”])
We can also plot subplots using pairplot using “vars”.
Commonly used:
sns.pairplot(df,hue = ‘smoker’,diag_kind = “kde”,kind = “scatter”,palette = “husl”)
where :
kind : Kind of plot for the non-identity relationships. <‘scatter’, ‘reg’>
diag_kind : Kind of plot for the diagonal subplots.
Pair plot is used to understand the best set of features to explain a relationship between two variables or to form the most separated clusters. It also helps to form some simple classification models by drawing some simple lines or make linear separation in our data-set.
There are other different plots by which you can do EDA technique which helps you to get better understanding on the relationship among different variables of the data.
All of the above techniques will help you to take best suited variables to build your Machine Learning Model.
Sns pairplot что это
Seaborn is a Python data visualization library based on matplotlib. It provides a high-level interface for drawing attractive and informative statistical graphics. Seaborn helps resolve the two major issues while working with Matplotlib:
- Default Matplotlib parameters
- Working with data frames
As Seaborn compliments and enhances Matplotlib, the learning curve is quite gradual. If you are familiar with Matplotlib, you are already halfway done with Seaborn.
seaborn.pairplot() :
To plot multiple pairwise bivariate distributions in a dataset, you can use the .pairplot() function.
The diagonal plots are the univariate plots, and this displays the relationship for the (n, 2) combination of variables in a DataFrame as a matrix of plots.
Seaborn Pairplot in Detail| Python Seaborn Tutorial
Seaborn Pairplot uses to get the relation between each and every variable present in Pandas DataFrame. It works like a seaborn scatter plot but it plot only two variables plot and sns paiplot plot the pairwise plot of multiple features/variable in a grid format.
How to plot Seaborn Pairplot?
To plot seaborn pairplot we use sns.pairplot() function.
Syntax: sns.pairplot(
data,
hue=None,
hue_order=None,
palette=None,
vars=None,
x_vars=None,
y_vars=None,
kind=’scatter’,
diag_kind=’auto’,
markers=None,
height=2.5,
aspect=1,
dropna=True,
plot_kws=None,
diag_kws=None,
grid_kws=None,
size=None,
)
For the best understanding, I suggest you follow the seaborn scatter plot and matplotlib scatter plot tutorial.
Note: Practical perform on Jupyter NoteBook and at the end of this seaborn pairplot tutorial, you will get ‘.ipynb‘ file for download.
Import Libraries
Load Dataset
Plotting Seaborn Pairplot
data: data parameter is the required parameter to pass data to plot pairplot
Output>>>

vars: It hep to plot pairplot accounting to required features/variable. Pass list of variable names, optional
Output>>>

hue: Map the third feature to get more insights. Pass string (variable name), optional
Output>>>

hue_order: To change the order of hue. Pass list of strings
Output>>>

palette: To change the color of the seaborn pairplot, it works like cmap. Pass dict or seaborn color palette
Output>>>

x_vars, y_vars: If you want required features on the x-axis and the y-axis the use it. Pass lists of variable names, optional
Output>>>

kind: To find the linearity. Pass <‘scatter’, ‘reg’>, optional
Output>>>

diag_kind: To change the diagonal distribution. Pass <‘auto’, ‘hist’, ‘kde’>, optional
Output>>>

markers: To change the markers of scatter dots. Pass single matplotlib marker code or list, optional
Output>>>

height: To change the height of the seaborn scatterplot. Pass scalar, optional
Output>>>

Conclusion
In the seaborn pairplot tutorial, we learn how to create a seaborn pairplot with a real-time example using sns.pairplot() function. Along with that used different functions, and parameters. We suggest you make your hand dirty with each and every parameter of the above function because This is the best coding practice. Still, you didn’t complete matplotlib tutorial then I recommend to you, catch it.
Download the above seaborn pairplot source code in Jupyter NoteBook file formate.
Как рисовать диаграммы в Seaborn

Начинающие аналитики могут смело класть эту шпаргалку в закладки, а мы приглашаем вас под кат за диаграммами и кодом, пока начинается наш курс по анализу данных. Для удобства мы сократили текст и перенесли его часть в комментарии, ближе к нужным строкам кода.
Благодаря возможности настроить каждую деталь диаграммы многие курсы для начинающих посвящены отображению данных в Matplotlib. Но я увязла во всей документации, обсуждениях в сообществе и множестве способов отрисовать простые диаграммы. И нашла Seaborn.
Seaborn — это лаконичный интерфейс к Matplotlib для создания и оформления статистических диаграмм из наборов данных Pandas. Читая эту статью, лучше иметь общее представление о figure, axes и axis Matplotlib.
Для примера воспользуемся набором данных об автомобилях от Kaggle под лицензией Open database. Код ниже импортирует необходимые библиотеки, устанавливает стиль и загружает набор данных.
Элементы Seaborn делятся на две группы: оси и диаграммы.
Оси имитируют Matplotlib и с помощью параметра ax могут объединяться в поддиаграммы. Они возвращают объект axes и используют обычные функции стилизации Matplotlib.
Диаграммы управляют диаграммой, создать можно только диаграммы с какими-то значениями и связанные поддиаграммы. Они не поддерживают параметр ax и возвращают объекты FacetGrid, PairGrid или JointGrid. Используют разные стили и кастомизацию входных данных.
Изучение отношений между числовыми столбцами
Значения числовых функций — это непрерывные данные или числа. Первые визуализации будут матричными. Чтобы отобразить все попарные распределения на одной диаграмме, в них передаётся весь фрейм данных.
1. Парные диаграммы
Pairplot для сравнения распределения пар числовых переменных создаёт сетку точечных диаграмм. Он также содержит гистограмму для каждой функции в диагональных прямоугольниках.
Стоит обратить внимание на:
Диаграммы рассеяния, показывающие положительные линейные отношения (когда x увеличивается, увеличивается y), либо отрицательные (когда x увеличивается, y уменьшается).
Гистограммы в диагональных прямоугольниках, показывающие распределение конкретных признаков.
На парной диаграмме обведённые диаграммы показывают очевидную линейную зависимость. Диагональ указывает на гистограммы каждого признака; левый треугольник парной диаграммы — зеркальное отражение правого треугольника.


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

Эту таблицу называют матрицей корреляций. Эта таблица не очень понятна, поэтому с помощью sns.heatmap() отрисуем тепловую карту:
Стоит обратить внимание на признаки с высокой корреляцией — тёмно-красные и тёмно-синие клетки. Близость к единице означает сильно выраженную положительную линейную зависимость, а близость к -1 — сильно выраженную отрицательную зависимость 
3. Диаграмма рассеяния
Диаграмма рассеяния показывает взаимосвязь между двумя числовыми признаками с помощью точек, показывающих движение этих переменных вместе.

Функция regplot рисует диаграмму рассеяния с линией регрессии, показывающей тенденцию в данных.


Диаграмма отношений relplot используется для создания диаграммы рассеяния с помощью kind=’scatter’ (установленного по умолчанию), или линейной диаграммы (kind=’line’). Для разделения по цвету в kind=’scatter’ используется hue=’cat_col’.

Обратите внимание, что две диаграммы выше аналогичны.


Описание в документации. lmplot — разновидность regplot на уровне диаграммы: она рисует диаграмму рассеяния с линией регрессии на FacetGrid. Параметра kind у implot нет.

4. Линейный график
Линейный график состоит из точек, соединённых линией, которая показывает связь между переменными x и y. Ось x обычно содержит временные интервалы, ось y — числовую переменную, изменения которой во времени нужно отследить.



5. Сводная диаграмма
Состоит из трёх диаграмм в одной. Центр содержит бивариантную зависимость между переменными x и y. На диаграммах сверху и справа показано одномерное распределение переменных по осям x и у соответственно.


Изучение отношений между категориальными и числовыми данными
На следующих диаграммах ось x будет содержать категориальную переменную, а ось Y — числовую.
6. Гистограмма
Гистограмма использует столбцы разной высоты для сравнения распределения числовой переменной между группами категориальной переменной. По умолчанию высота столбца оценивается с помощью «среднего»: параметр estimator изменяет эту функцию агрегирования с помощью встроенных функций Python, таких как estimator=max или len, или функций NumPy наподобие np.max и np.median.

Ещё один пример:

Тип категориальной диаграммы указывается параметром kind, по умолчанию он равен ‘strip’. Допустимы значения ‘swarm’, ‘box’, ‘violin’, ‘boxen’, ‘point’ и ‘bar’ . Воспользуемся catplot для создания диаграммы, похожей на предыдущую.

Пример гистограммы через catplot:

7. Точечная диаграмма
Вместо столбцов точечная диаграмма отображает точки, представляющие среднее значение (или другую оценку) каждой группы категорий. Точки соединяются линией, что упрощает сравнение изменений центральной тенденции переменной y для групп.

Когда вы добавляете третью категорию с помощью hue, точечная диаграмма становится информативнее гистограммы, потому что через каждый переданный hue класс проводится линия, которая упрощает сравнение изменений по группе переменной x.
Точечная диаграмма с catplot:


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

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

Ещё один пример:

То же через catplot:

Пример с catplot сложнее:

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


Другой пример с catplot:

Фильтрация по двум классам через catplot:

10. Одномерная диаграмма рассеяния
Точки этой диаграммы показывают, как числовая переменная распределяется между классами категориальной переменной. Её можно представить как точечную диаграмму, где одна из осей отражает признак в данных.

Пример через catplot:

Ещё один пример с catplot:

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

Замечания
Столбцы категориальных диаграмм, таких как гистограммы и ящики с усами, можно сделать горизонтальными, поменяв местами переменные x и y.
Совместно используемые параметры row и col объектов уровня фигуры FacetGrid могут добавить измерение к поддиаграмм. Однако col_wrap не работает с row.
FacetGrid поддерживает различные параметры в зависимости от основной диаграммы. Например, sns.catplot(kind=’violin’) поддерживает параметр split, но другие ‘kind’ — не поддерживают его. Подробности о ‘kind’ смотрите в документации.
Функции уровня диаграммы создают и двумерные диаграммы. Например, sns.catplot(x=’fuel’, y=’mileage_cc’, data=cars, kind=’bar’) отобразит простую столбцовую диаграмму.
Заключение
Мы проанализировали двумерный и многомерный набор данных. Чтобы найти числовые переменные с высокой корреляцией, создали матричные диаграммы, которые показали отношения в сетке. Затем использовали различные функции на уровне осей и на уровне диаграммы для создания диаграмм, которые показали отношения между числовыми и категориальными столбцами.
А мы поможем вам прокачать навыки или с самого начала освоить профессию, востребованную в любое время.