Сегодня самым ценным ресурсом в мире является уже не нефть, а данные. Визуализация становится все более важным инструментом для понимания миллиардов строк данных. Преобразуя данные в графическое представление, которое легко интерпретировать, визуализация данных помогает излагать историю данных, выделяя соответствующую информацию, закономерности и выбросы. Однако данные и графика должны работать вместе: это искусство объединения качественного анализа с отличным повествованием. В этом сообщении блога мы покажем вам «Sea Born», один из самых известных инструментов визуализации, написанный на Python.
Инструменты визуализации
Мы используем инструменты визуализации для визуализации тенденций, закономерностей, выбросов и взаимосвязей между переменными. Это очень востребованный навык, особенно для карьеры в области науки о данных.
Сиборн
Seaborn — это библиотека визуализации данных Python, основанная на matplotlib. Он предоставляет высокоуровневый интерфейс для рисования привлекательных и информативных статистических графиков.
Функции построения графиков Seaborn:
В Seaborn у нас есть 3 категории участков.
-
Категориальные сюжеты.
-
Распределительные участки.
-
Реляционные графики.
Категориальные сюжеты
Мы используем категориальные функции построения графиков Seaborn, чтобы визуализировать тенденции категориальной переменной или визуализировать связь между двумя переменными, по крайней мере, с одной категориальной.
Графический график:
- Показывает количество наблюдений каждой категории по категориальной переменной. Мы просто подсчитываем количество наблюдений каждой категории переменной
seaborn.catplot(kind = 'count',
data = dataset,
x = 'variable')
Сюжет с баром:
-
Представляет собой оценку тенденции непрерывной переменной с высотой прямоугольника для каждой категории категориальной переменной. Таким образом, функция построения графика принимает на вход две переменные: одну непрерывную, а другую категориальную. Для каждой категории из переменной_1 мы вычисляем тенденцию переменной_2.
-
Тенденцией может быть среднее значение, дисперсия или вы можете передать какую-то пользовательскую функцию…
seaborn.catplot(kind = 'bar',**data = dataset,**
x = 'variable_1',**y = 'variable_2',**
estimator = np.mean)**
Стрип-участок:
- Ленточный график — один из самых простых и понятных графиков при визуализации данных. Мы просто рисуем точки, которые представляют значения непрерывной переменной. Для каждой категории Переменной 1 мы будем рисовать значения Переменной 2.
seaborn.catplot(kind = 'strip',
data = dataset,
x = 'variable_1',
y = 'variable_2',
jitter = 0.15)
Сюжет о рое:
-
Роевой график очень похож на полосовой график, поскольку имеет точно такой же функционал. Единственная разница заключается в том, как отображаются точки. В то время как на полосовом графике точки данных могут перекрываться, поскольку они случайным образом располагаются на оси X, на роевом графике мы обеспечиваем, чтобы точки не перекрывались, накладывая их друг на друга.
-
Недостаток здесь в том, что если у нас много точек данных, их невозможно не перекрывать, поэтому алгоритм удалит некоторые точки данных, чтобы не перекрываться.
seaborn.catplot(kind = 'swarm',
data = dataset,
x = 'variable_1',
y = 'variable_2')
Коробчатый график:
-
Ящичная диаграмма используется для представления распределения непрерывной переменной для каждой категории категориальной переменной. Несмотря на то, что это довольно просто, оно дает много информации:
-
Значения квартилей:
Внутри прямоугольника есть горизонтальная линия, обозначающая медиану. Горизонтальная линия вверху — верхние квартили, нижняя — нижние квартили.
- Выбросы:
Обратите внимание, что за пределами рамки есть несколько точек, эти точки представляют собой выбросы.
seaborn.catplot(kind = 'box',
data = dataset,
x = 'variable_1',
y = 'variable_2')
Скрипичный сюжет:
Вместо построения поля распределения график скрипки будет отображать фактическое распределение непрерывной переменной для каждой категории категориальной переменной с использованием KDE (оценка плотности ядра).
seaborn.catplot(kind = 'violin',
data = dataset,
x = 'variable_1',
y = 'variable_2')
Участки распределения:
Мы используем функции построения графика распределения seaborn для визуализации распределения непрерывных переменных.
Сюжет:
График истории представляет распределение непрерывных переменных с использованием интервалов.
seaborn.distplot(kind = 'hist',
data = dataset,
x = 'variable',
bins = 20)
Сюжет KDE:
График Kde представляет фактическое распределение данных с использованием оценки плотности ядра.
seaborn.distplot(kind = 'kde',
data = dataset,
x = 'variable')
Его также можно использовать для представления двумерного распределения двух непрерывных переменных.
seaborn.distplot(kind = 'kde',
data = dataset,
x = 'variable_1',
y = 'variable_2')
Сюжет ECDF:
График ECDF представляет собой эмпирическое кумулятивное распределение непрерывной переменной.
seaborn.distplot(kind = 'ecdf',
data = dataset,
x = 'variable')
Реляционные графики:
Мы используем функции построения реляционных графиков seaborn для визуализации взаимосвязи между непрерывными переменными.
Диаграмма рассеяния:
- Он показывает взаимосвязь между двумя непрерывными переменными, просто отображая все точки данных.
seaborn.relplot(kind = 'scatter',
data = dataset,
x = 'variable_1',
y = 'variable_2')
Линейный график:
- Представляет связь между переменными как непрерывную функцию.
seaborn.relplot(kind = 'line',
data = dataset,
x = 'variable_1',
y = 'variable_2')
Дополнительные функции:
Возможно, вы заметили, что во всех функциях построения графиков мы использовали максимум две переменные на график, но что, если мы захотим ввести в нашу визуализацию больше переменных? К счастью, Seaborn об этом позаботился:
Хюэ:
- Используя оттенок, мы можем ввести третью переменную, которая является категориальной для нашей визуализации с использованием цветового кодирования. Это означает, что точки данных, принадлежащие к одной и той же категории этой третьей переменной, будут иметь один и тот же цвет.
seaborn.relplot(kind = 'scatter',
data = dataset,
x = 'variable_1',
y = 'variable_2',
hue = 'variable_3')
Размер:
- Размер аналогичен оттенку, но вместо цветового кодирования используется кодировка размера. Это означает, что точки данных, принадлежащие к одной и той же категории третьей переменной, будут иметь одинаковый уникальный размер. Разные размеры означают разные категории.
seaborn.relplot(kind = 'scatter',
data = dataset,
x = 'variable_1',
y = 'variable_2',
size = 'variable_3',
sizes = [50, 100])
Стиль:
- Практически то же самое, что и оттенок и размер. Это означает, что точки данных, принадлежащие к одной и той же категории третьей переменной, будут иметь один и тот же уникальный стиль. Стиль точки может быть точкой, звездой, крестом, треугольником… мы называем их маркерами.
seaborn.relplot(kind = 'scatter',
data = dataset,
x = 'variable_1',
y = 'variable_2',
style = 'variable_3',
markers = ['X', '*'])
Мы также можем ввести новую категориальную переменную, используя множественные графики, каждый график принадлежит категории из категориальной переменной категории:
Кол:
Создаст множество фигур по горизонтали относительно категорий третьей переменной.
seaborn.relplot(kind = 'scatter',
data = dataset,
x = 'variable_1',
y = 'variable_2',
col = 'variable_3')
Ряд:
Создаст множество фигур по вертикали относительно категорий третьей переменной.
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, оттенок, размер, стиль, столбец, строка) на одном графике, но это даст нам очень насыщенный график, который настолько беспорядочен и его чрезвычайно сложно интерпретировать, а иногда и нет. информативно вообще.
seaborn.relplot(kind = 'scatter',
data = dataset,
x = 'variable_1',
y = 'variable_2',
hue = 'variable_3',
size = 'variable_4')
Заключение:
В этом посте мы узнали о seaborn, его трех категориях функций построения графиков: категориальные, распределительные и реляционные графики, а также объяснили каждую функцию построения графиков для каждой категории вместе с кодом Python.
Посетите наш учебный курс по науке о данных, чтобы узнать больше по этой теме!