Визуализация основных данных с помощью этих диаграмм Seaborn

Оглавление

  1. "Введение"
  2. Линейный сюжет
  3. Диаграмма рассеяния
  4. Гистограмма
  5. Функция плотности вероятности (PDF)
  6. Боксплот
  7. Скрипичный сюжет
  8. Парный сюжет
  9. "Тепловая карта"
  10. Совместный сюжет
  11. Рагплот

Введение

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

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

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

Начнем с импорта и обработки данных.
Обратите внимание, что если вы используете это где-либо, кроме блокнота Kaggle, вам может потребоваться указать локальный адрес файла Iris.csv в приведенной выше функции. Загрузите файл по приведенной выше ссылке, если у вас его еще нет.

#Importing Libraries
import numpy as np
import pandas as pd
import seaborn as sns

#Getting the data in pandas DataFrame Format
data = pd.read_csv('/kaggle/input/iris/Iris.csv')
data.head() #Printing first 5 values in the dataset

SepalLengthCm и SepalWidthCm — это длина и ширина чашелистиков цветка ириса, рассчитанные в сантиметрах. Точно так же PetallLengthCm и PetallWidthCm — это длина и ширина лепестков цветка ириса, измеренные в сантиметрах. Виды указывают на вид цветка. Существует три вида ирисов: Iris setosa, Iris virginica и Iris versicolor.

Линейный сюжет

На этом графике взаимосвязь между двумя переменными (x и y) показана путем их нанесения на двумерный график и их соединения. Он показывает, как переменная изменяется во времени. Есть несколько применений линейных графиков, включая изучение динамических переменных (которые меняются со временем), поиск закономерностей и отслеживание тенденций. Мы можем создать линейный график, используя функцию lineplot.

#Creating a line plot between Sepal Length and Sepal Width of all the
#species
sns.lineplot(data=data,x = 'SepalLengthCm',y='SepalWidthCm')

#We can also plot separate line plots for each of the species.
sns.lineplot(data=data,x = 'SepalLengthCm',y='SepalWidthCm',hue = 'Species')

диаграмма рассеяния

Графики рассеяния похожи на линейные графики, но предпочтительнее для статических переменных (которые не меняются со временем). По сути, он отображает все точки на 2D-графике. Графики рассеяния используются для определения корреляции между двумя переменными. Мы можем использовать его через функцию диаграммы рассеяния.

#Generating a Scatter Plot of all the data points.
sns.scatterplot(data=data,x = 'SepalLengthCm',y='SepalWidthCm')

#We can also distinguish the points by their species
sns.scatterplot(data=data,x = 'SepalLengthCm',y='SepalWidthCm',hue = 'Species')

Гистограмма

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

#Plotting histogram for all the species
sns.histplot(data=data,x='SepalLengthCm')

#Plotting histograms for each species
sns.histplot(data=data,x='SepalLengthCm',hue='Species')

Функция плотности вероятности (PDF)

Функция плотности вероятности вычисляет вероятность того, что случайная величина будет найдена в диапазоне значений. Цель этого метода — определить, к какому распределению принадлежит переменная. Выяснив, к какому распределению принадлежит переменная, мы можем выбрать наиболее эффективную модель машинного обучения для работы с переменной, чтобы получить наиболее точные результаты. Мы используем оценку плотности ядра для вычисления функции плотности вероятности. Мы можем построить его с помощью функции kdeplot.

#Plotting the probability density function for Petal Length of all species
sns.kdeplot(data=data,x='PetalLengthCm')

#Plotting the probability density function for Petal Length for 
#individual species
sns.kdeplot(data=data,x='PetalLengthCm',hue='Species')

Из приведенного выше графика видно, что функция плотности вероятности Iris-Setosa не перекрывается с другими видами. Поэтому Iris-Setosa можно легко отличить от других видов.

Блочная диаграмма

Коробчатая диаграмма дает нам пять идей о данных, а именно:

  • Нижний экстремум — сообщает нам самое низкое значение в наборе данных.
  • Верхний предел — предоставляет нам самое высокое значение в наборе данных.

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

  • Верхний квартиль — дает нам 75-й процентиль набора данных, который представляет собой значение, на которое приходится 75 процентов данных (в порядке возрастания).
  • Нижний квартиль — дает нам 25-й процентиль набора данных, который представляет собой значение, на которое приходится 25 процентов данных (в порядке возрастания).

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

  • Медиана — предоставляет нам медиану набора данных.

См. приведенную ниже диаграмму коробчатой ​​диаграммы для четкого понимания.

#Plotting boxplot for individual species
sns.boxplot(data=data,y='PetalLengthCm',x='Species')

скрипкасюжет

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

См. приведенную ниже диаграмму сюжета скрипки для ясного понимания.

#Plotting violinplot for individual species
sns.violinplot(data=data,y='PetalLengthCm',x='Species')

Парный сюжет

Парный график позволяет нам строить попарные диаграммы рассеяния для всех некатегориальных переменных. Для тех же переменных по осям x и y мы получаем функцию плотности гистограммы/вероятности переменной. Поскольку он отображает все графики вместе, становится очень легко анализировать каждую функцию и ее корреляцию с другими функциями. Использование парных графиков не рекомендуется, когда набор данных содержит большое количество объектов, поскольку для их построения требуется значительное количество времени. Вы можете построить парный график, используя функцию pairplot.

#Plotting pairplot
sns.pairplot(data=data)

#Plotting the pair plots for individial species
sns.pairplot(data=data,hue='Species')

Тепловая карта

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

#Plotting the heatmap
sns.heatmap(data=data.corr(), annot=True,cmap = "GnBu")

Из тепловой карты мы узнаем, что пары с высокой корреляцией:

  • Длина лепестка и длина чашелистика
  • Длина чашелистика и ширина лепестка
  • Длина лепестка и ширина лепестка

Кроме того, мы наблюдаем, что все диагональные элементы имеют корреляцию 1. Это потому, что эти квадраты коррелируют с одними и теми же переменными, следовательно, это идеальная корреляция.

Совместный сюжет

На совместном графике двух переменных (x и y) мы строим график рассеяния и гистограмму/функцию плотности вероятности двух переменных. Совместный график можно использовать как для одномерного, так и для двумерного анализа.

Совместный график = график рассеяния + функция плотности гистограммы/вероятности двух переменных.

#Plotting joint plot of Sepal Width and Petal Length
sns.jointplot(data=data,x='PetalLengthCm',y='SepalWidthCm')

#Plotting joint plot for individual species
sns.jointplot(data=data,x='PetalLengthCm',y='SepalWidthCm',hue='Species')

Rugplot

Подобно объединенному графику, ковер-график можно использовать как для одномерного, так и для двумерного анализа. Ковровая диаграмма показывает предельное распределение переменных по осям x и y. Ковровые графики могут быть построены как для одной, так и для нескольких переменных.

#Plotting rug plot for only Petal length for individual species
sns.rugplot(data=data,x='PetalLengthCm',hue='Species')

#Plotting rug plot for only Petal length and Sepal Length for individual
#species
sns.rugplot(data=data,x='PetalLengthCm',y='SepalLengthCm',hue='Species')

Заключение

Для одномерного анализа мы можем использовать

  • Линейный сюжет
  • Коробчатый сюжет
  • Сюжет для скрипки
  • Функция плотности вероятности
  • Гистограмма
  • Совместный участок
  • Ковровый участок

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

  • Парный сюжет
  • График рассеяния
  • Совместный участок
  • Тепловая карта
  • Rugplot