Визуализация Python | Seaborn 5-минутное введение (1) - kdeplot и distplot

анализ данных
Визуализация Python | Seaborn 5-минутное введение (1) - kdeplot и distplot

Публичный аккаунт WeChat: «Python Reading Finance»
Если у вас есть какие-либо вопросы или предложения, пожалуйста, оставьте сообщение в публичном аккаунте

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

image

Установка Seaborn

>>>pip install seaborn

После установки пакета Seaborn мы начнем следующее исследование.Во-первых, мы представим метод рисования kdeplot.

Примечание. Весь код реализован в блокноте IPython.


kdeplot (график оценки плотности ядра)

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

seaborn.kdeplot(data,data2=None,shade=False,vertical=False,kernel='gau',bw='scott',gridsize=100,cut=3,clip=None,legend=True,cumulative=False,shade_lowest=True,cbar=False, cbar_ax=None, cbar_kws=None, ax=None, *kwargs)

Давайте изучим использование некоторых параметров на конкретных примерах:

Сначала импортируйте соответствующую библиотеку

%matplotlib inline  #IPython notebook中的魔法方法,这样每次运行后可以直接得到图像,不再需要使用plt.show()
import numpy as np  #导入numpy包,用于生成数组
import seaborn as sns  #习惯上简写成snssns.set()           
sns.set()#切换到seaborn的默认运行配置

Нарисуйте простое изображение 1D kde

x=np.random.randn(100)  #随机生成100个符合正态分布的数sns.kdeplot(x)

image

cut: Параметр указывает, насколько полоса резания доходит до предельного значения числовой оси при рисовании (по умолчанию 3).

sns.kdeplot(x,cut=0)

image

cumulative: рисовать ли кумулятивное распределение

sns.kdeplot(x,cumulative=True)

image

shade: Если установлено значение True, обработка теней выполняется в области ниже кривой kde, а color управляет цветом кривой и тени.

sns.kdeplot(x,shade=True,color="g")

image

vertical: Указывает, рисовать ли по оси X или по оси Y.

sns.kdeplot(x,vertical=True)

image

двоичный образ kde

y=np.random.randn(100)
sns.kdeplot(x,y,shade=True)

image

cbar: если параметр имеет значение True, будет добавлена ​​цветная полоса (цветная полоса доступна только в бинарных образах kde)

sns.kdeplot(x,y,shade=True,cbar=True)

image

Далее переходим к более мощному distplot


distplot

displot()собранныйmatplotlibизhist()Функция kdeplot для оценки с помощью функции ядра добавляет новое использование отображения полосы наблюдения за распределением rugplot и подгонку параметрических распределений с использованием подгонки библиотеки scipy. Конкретное использование заключается в следующем:

seaborn.distplot(a, bins=None, hist=True, kde=True, rug=False, fit=None, hist_kws=None, kde_kws=None, rug_kws=None, fit_kws=None, color=None, vertical=False, norm_hist=False, axlabel=None, label=None, ax=None)

Сначала представим гистограмму (Гистограммы):

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

Далее давайте испытаем использование distplot на конкретных примерах:

sns.distplot(x,color="g")

image

пройти черезhistиkdeОтображать ли гистограмму и оценку плотности ядра для настройки параметров (по умолчаниюhist,kdeобаTrue)

import matplotlib.pyplot as pltfig,axes=plt.subplots(1,3) #创建一个一行三列的画布
sns.distplot(x,ax=axes[0]) #左图
sns.distplot(x,hist=False,ax=axes[1]) #中图
sns.distplot(x,kde=False,ax=axes[2]) #右图

image
bins: int или list, управляет делением гистограммы

fig,axes=plt.subplots(1,2) 
sns.distplot(x,kde=False,bins=20,ax=axes[0]) #左图:分成20个区间
sns.distplot(x,kde=False,bins=[x for x in range(4)],ax=axes[1]) #右图:以0,1,2,3为分割点,形成区间[0,1],[1,2],[2,3],区间外的值不计入。

image

rag: Управляет созданием небольших тонких полос наблюдаемых значений.

fig,axes=plt.subplots(1,2)
sns.distplot(x,rug=True,ax=axes[0]) #左图
sns.distplot(x,ax=axes[1]) #右图

image

fit: Управляет согласованным графиком распределения параметров, который может интуитивно оценить его соответствие наблюдаемым данным (черная линия — определенное распределение)

from scipy.stats import *
sns.distplot(x,hist=False,fit=norm) #拟合标准正态分布

image

hist_kws, kde_kws, rug_kws, fit_kwsПараметр получает тип словаря, вы можете определить более сложные стили самостоятельно

sns.distplot(x,kde_kws={"label":"KDE"},vertical=True,color="y")

image

norm_hist: еслиTrue, высота гистограммы показывает плотность, а не количество (сkdeПо умолчанию на изображенииTrue)

fig,axes=plt.subplots(1,2)
sns.distplot(x,norm_hist=True,kde=False,ax=axes[0]) #左图
sns.distplot(x,kde=False,ax=axes[1]) #右图

image

Есть и другие параметры, которые здесь не представлены.Студенты, которые заинтересованы в продолжении обучения, могут ознакомиться с официальной документацией Seaborn. Вышеупомянутое содержание написано мной в сочетании с официальными документами и моим собственным пониманием.Если есть какие-либо ошибки, пожалуйста, не стесняйтесьуказать и прокомментировать,общий обмен и прогресс, я также надеюсь, что то, что я написал, может принести вам более или менее помощь после прочтения этой статьи!

Обратите внимание на общедоступный номер"Питон Чтение Финансов", ответьте «py» в фоновом режиме, чтобы получить пакет учебных ресурсов Python, а также группу обмена обучением Python!

底部二维码.png