Построение графика оценки плотности ядра (KDE) — это мощный инструмент для оценки функции плотности вероятности непрерывных или непараметрических данных. Построение графика KDE реализовано с помощью функции kdeplot
в Seaborn. В этой статье рассматривается синтаксис и использование функции kdeplot
в Python с акцентом на одномерные и двумерные сценарии для эффективной визуализации данных.
Содержание
- Что такое KDE plot?
- Как визуализировать график KDE с помощью Seaborn?
- График KDE для набора данных Iris
- Заключение
Что такое KDE plot?
Построение графика оценки плотности ядра (KDE) позволяет оценить функцию плотности вероятности непрерывной или непараметрической кривой из нашего набора данных в одном или нескольких измерениях. Это означает, что мы можем построить один график для нескольких выборок, что помогает более эффективно визуализировать данные.
Чтобы использовать модуль Seaborn, нам нужно установить его с помощью следующей команды:
!pip install seaborn
Синтаксис:
seaborn.kdeplot(x=None, *, y=None, vertical=False, palette=None, **kwargs)
Параметры:
x, y : векторы или ключи в данных
vertical : логическое значение (True или False)
data : pandas.DataFrame, numpy.ndarray, отображение или последовательность
Как визуализировать график KDE с помощью Seaborn?
Мы изучаем использование некоторых параметров на нескольких конкретных примерах:
Импорт библиотек
Сначала импортируйте соответствующую библиотеку
import pandas as pd
import seaborn as sb
import numpy as np
from matplotlib import pyplot as plt
%matplotlib inline
Нарисуйте простое одномерное изображение kde:
Давайте посмотрим на Kde для нашей переменной по оси X и по оси Y. Для этого передадим переменную x в метод kdeplot().
# data x and y axis for seaborn
x= np.random.randn(200)
y = np.random.randn(200)
# Kde for x var
sns.kdeplot(x)
Вывод:
Затем после проверки наличия оси y.
sns.kdeplot(y)
Вывод:
Используйте тень для заливки области, охватываемой кривой:
Мы можем выделить график, нанеся тень на область, покрытую кривой. Если значение равно True, обработка тени выполняется в области под кривой kde, а цвет определяет цвет кривой и тени.
sns.kdeplot(x, shade = True)
Вывод:
Вы можете изменить цвет оттенка с помощью атрибутов color:
sns.kdeplot(x, shade = True , color = "Green")
Вывод:
Используйте вертикальную линию для рисования, чтобы указать, нужно ли рисовать по оси X или по оси Y
sns.kdeplot(x, vertical = True)
Вывод:
Создайте двумерный Kdeplot для двух переменных:
Просто передайте две переменные в метод seaborn.kdeplot().
sns.kdeplot(x,y)
Вывод:
Затенение области, покрытой кривой, с помощью затенения атрибутов:
sns.kdeplot(x,y, shade = True)
Вывод:
Теперь вы можете изменить цвет с помощью cmap атрибутов:
sns.kdeplot(x,y, cmap = "winter_r")
Вывод:
Использование Cbar: Если значение равно True, добавьте цветовую шкалу для обозначения цветового отображения на двумерном графике. Примечание: в настоящее время не поддерживает хорошо графики с переменной оттенка.
sns.kdeplot(x, y, shade=True, cbar=True)
Вывод:
График KDE для набора данных Iris
Давайте рассмотрим пример с набором данных Iris, в котором для каждого столбца широкоформатного набора данных строится распределение:
Набор данных Iris состоит из 3 различных типов ирисов (Setosa, Versicolour и Virginica) с разной длиной лепестков и чашелистиков, сохранённых в массиве NumPy размером 150×4
Загрузка набора данных iris для Kdeplot:
iris = sns.load_dataset('iris')
iris
Вывод:
Двумерный Kdeplot для двух переменных iris:
Как только мы зададим виды, если мы захотим просто вычислить длину и ширину лепестков, то просто передадим две переменные (Setosa и virginica) в метод seaborn.kdeplot().
setosa = iris.loc[iris.species=="setosa"]
virginica = iris.loc[iris.species == "virginica"]
sns.kdeplot(setosa.petal_length, setosa.petal_width)
Вывод:
Рассмотрим другой пример, если мы хотим вычислить другой атрибут переменной — sepal_width и sepal_length.
sns.kdeplot(setosa.sepal_width, setosa.sepal_length)
Вывод:
Если мы передадим два отдельных Kdeplot с разными переменными:
sns.kdeplot(setosa.petal_length, setosa.petal_width)
sns.kdeplot(virginica.petal_length, virginica.petal_width)
Вывод:
Заключение
Подводя итог, kdeplot
Seaborn предлагает универсальный подход к визуализации функций плотности вероятности, который помогает исследовать одно или несколько измерений в наборах данных. Будь то затенение областей, настройка цветов или применение к реальным наборам данных, таким как Iris, kdeplot
Seaborn является ценным инструментом для специалистов по обработке данных и аналитиков.