Визуализация данных на Python с помощью Seaborn

Python
визуализация данных
Seaborn
Визуализация данных на Python с помощью Seaborn cover image

Сегодня самым ценным ресурсом в мире является уже не нефть, а данные. Визуализация становится все более важным инструментом для понимания миллиардов строк данных. Преобразуя данные в графическое представление, которое легко интерпретировать, визуализация данных помогает излагать историю данных, выделяя соответствующую информацию, закономерности и выбросы. Однако данные и графика должны работать вместе: это искусство объединения качественного анализа с отличным повествованием. В этом сообщении блога мы покажем вам «Sea Born», один из самых известных инструментов визуализации, написанный на Python.

Инструменты визуализации

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

Сиборн

Seaborn — это библиотека визуализации данных Python, основанная на matplotlib. Он предоставляет высокоуровневый интерфейс для рисования привлекательных и информативных статистических графиков.

Функции построения графиков Seaborn:

В Seaborn у нас есть 3 категории участков.

  • Категориальные сюжеты.

  • Распределительные участки.

  • Реляционные графики.


Категориальные сюжеты

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

Графический график:

  • Показывает количество наблюдений каждой категории по категориальной переменной. Мы просто подсчитываем количество наблюдений каждой категории переменной
seaborn.catplot(kind = 'count',
                data = dataset,
                x    = 'variable')

Count plot

Сюжет с баром:

  • Представляет собой оценку тенденции непрерывной переменной с высотой прямоугольника для каждой категории категориальной переменной. Таким образом, функция построения графика принимает на вход две переменные: одну непрерывную, а другую категориальную. Для каждой категории из переменной_1 мы вычисляем тенденцию переменной_2.

  • Тенденцией может быть среднее значение, дисперсия или вы можете передать какую-то пользовательскую функцию…

seaborn.catplot(kind = 'bar',**data = dataset,**
                x    = 'variable_1',**y    = 'variable_2',**
                estimator = np.mean)**

Bar Plot

Стрип-участок:

  • Ленточный график — один из самых простых и понятных графиков при визуализации данных. Мы просто рисуем точки, которые представляют значения непрерывной переменной. Для каждой категории Переменной 1 мы будем рисовать значения Переменной 2.

Strip Plot

seaborn.catplot(kind = 'strip',
                data = dataset,
                x    = 'variable_1',
                y    = 'variable_2',
                jitter = 0.15)

Сюжет о рое:

  • Роевой график очень похож на полосовой график, поскольку имеет точно такой же функционал. Единственная разница заключается в том, как отображаются точки. В то время как на полосовом графике точки данных могут перекрываться, поскольку они случайным образом располагаются на оси X, на роевом графике мы обеспечиваем, чтобы точки не перекрывались, накладывая их друг на друга.

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

Swarm Plot

seaborn.catplot(kind = 'swarm',
                data = dataset,
                x    = 'variable_1',
                y    = 'variable_2')

Коробчатый график:

  • Ящичная диаграмма используется для представления распределения непрерывной переменной для каждой категории категориальной переменной. Несмотря на то, что это довольно просто, оно дает много информации:

  • Значения квартилей:

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

  • Выбросы:

Обратите внимание, что за пределами рамки есть несколько точек, эти точки представляют собой выбросы.

Box Plot

seaborn.catplot(kind = 'box',
                data = dataset,
                x    = 'variable_1',
                y    = 'variable_2')

Скрипичный сюжет:

Вместо построения поля распределения график скрипки будет отображать фактическое распределение непрерывной переменной для каждой категории категориальной переменной с использованием KDE (оценка плотности ядра).

Violin Plot

seaborn.catplot(kind = 'violin',
                data = dataset,
                x    = 'variable_1',
                y    = 'variable_2')

Участки распределения:

Мы используем функции построения графика распределения seaborn для визуализации распределения непрерывных переменных.

Сюжет:

График истории представляет распределение непрерывных переменных с использованием интервалов.

Hist Plot

seaborn.distplot(kind = 'hist',
                 data = dataset,
                 x    = 'variable',
                 bins = 20)

Сюжет KDE:

График Kde представляет фактическое распределение данных с использованием оценки плотности ядра.

KDE Plot

seaborn.distplot(kind = 'kde',
                 data = dataset,
                 x    = 'variable')

Его также можно использовать для представления двумерного распределения двух непрерывных переменных.

KDE Plot

seaborn.distplot(kind = 'kde',
                 data = dataset,
                 x    = 'variable_1',
                 y    = 'variable_2')

Сюжет ECDF:

График ECDF представляет собой эмпирическое кумулятивное распределение непрерывной переменной.

ECDF Plot

seaborn.distplot(kind = 'ecdf',
                 data = dataset,
                 x    = 'variable')

Реляционные графики:

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

Диаграмма рассеяния:

  • Он показывает взаимосвязь между двумя непрерывными переменными, просто отображая все точки данных.

Scatter Plot

seaborn.relplot(kind = 'scatter',
                data = dataset,
                x    = 'variable_1',
                y    = 'variable_2')

Линейный график:

  • Представляет связь между переменными как непрерывную функцию.

Line Plot

seaborn.relplot(kind = 'line',
                data = dataset,
                x    = 'variable_1',
                y    = 'variable_2')

Дополнительные функции:

Возможно, вы заметили, что во всех функциях построения графиков мы использовали максимум две переменные на график, но что, если мы захотим ввести в нашу визуализацию больше переменных? К счастью, Seaborn об этом позаботился:

Хюэ:

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

Hue

seaborn.relplot(kind = 'scatter',
                data = dataset,
                x    = 'variable_1',
                y    = 'variable_2',
                hue  = 'variable_3')

Размер:

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

Size

seaborn.relplot(kind = 'scatter',
                data = dataset,
                x    = 'variable_1',
                y    = 'variable_2',
                size = 'variable_3',
                sizes = [50, 100])

Стиль:

  • Практически то же самое, что и оттенок и размер. Это означает, что точки данных, принадлежащие к одной и той же категории третьей переменной, будут иметь один и тот же уникальный стиль. Стиль точки может быть точкой, звездой, крестом, треугольником… мы называем их маркерами.

Style

seaborn.relplot(kind = 'scatter',
                data = dataset,
                x    = 'variable_1',
                y    = 'variable_2',
                style = 'variable_3',
                markers = ['X', '*'])

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

Кол:

Создаст множество фигур по горизонтали относительно категорий третьей переменной.

Col

seaborn.relplot(kind = 'scatter',
                data = dataset,
                x    = 'variable_1',
                y    = 'variable_2',
                col  = 'variable_3')

Ряд:

Создаст множество фигур по вертикали относительно категорий третьей переменной.

Row

seaborn.relplot(kind = 'scatter',
                data = dataset,
                x    = 'variable_1',
                y    = 'variable_2',
                row  = 'variable_3')

Мы также можем использовать Hue и Size на одном графике, чтобы представить 4 переменные, или даже Hue, Style и Col, чтобы использовать 5 переменных на одном графике! Мы можем использовать до 7 переменных (переменная 1, переменная 2, оттенок, размер, стиль, столбец, строка) на одном графике, но это даст нам очень насыщенный график, который настолько беспорядочен и его чрезвычайно сложно интерпретировать, а иногда и нет. информативно вообще.

Hue & Size

seaborn.relplot(kind = 'scatter',
                data = dataset,
                x    = 'variable_1',
                y    = 'variable_2',
                hue  = 'variable_3',
                size = 'variable_4')

Заключение:

В этом посте мы узнали о seaborn, его трех категориях функций построения графиков: категориальные, распределительные и реляционные графики, а также объяснили каждую функцию построения графиков для каждой категории вместе с кодом Python.

Посетите наш учебный курс по науке о данных, чтобы узнать больше по этой теме!


Career Services background pattern

Карьерные услуги

Contact Section background image

Давай останемся на связи

Code Labs Academy © 2024 Все права защищены.