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

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

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

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

image

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


lplot (график регрессии)

lmplot используется для рисования графиков регрессии.С помощью lmplot мы можем интуитивно просматривать внутреннюю взаимосвязь данных.

Давайте посмотрим на API stripplot:

seaborn.lmplot(x, y, data, hue=None, col=None, row=None, palette=None, col_wrap=None, size=5, aspect=1, markers='o', sharex=True, sharey=True, hue_order=None, col_order=None, row_order=None, legend=True, legend_out=True, x_estimator=None, x_bins=None, x_ci='ci', scatter=True, fit_reg=True, ci=95, n_boot=1000, units=None, order=1, logistic=False, lowess=False, robust=False, logx=False, x_partial=None, y_partial=None, truncate=False, x_jitter=None, y_jitter=None, scatter_kws=None, line_kws=None)

Видно, что параметров lmplot по-прежнему много. Далее мы выберем некоторые часто используемые. Некоторые параметры потребуют некоторых статистических знаний.

Старая процедура, сначала импортируйте соответствующий пакет:

import seaborn as sns
%matplotlib inline
sns.set(font_scale=1.5,style="white")

Набор данных для этого испытания представляет собой встроенный набор данных Seaborn для советов:

data=sns.load_dataset("tips")
data.head(5) 

image

Давайте сначала посмотрим, как выглядит lmplot

sns.lmplot(x="total_bill",y="tip",data=data)

image

Можно видеть, что lmplot выполняет одномерную линейную регрессию для выбранного набора данных и соответствует оптимальной прямой линии,

Далее введите демонстрацию определенных параметров.

col:Сортировка по столбцам на основе указанных атрибутов

row:Сортировка по строкам на основе указанных атрибутов

sns.lmplot(x="total_bill",y="tip",data=data,row="sex",col="smoker")

image

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

col_wrap:Укажите количество столбцов в каждой строке, вплоть до количества различных категорий, соответствующих параметру col.

sns.lmplot(x="total_bill",y="tip",data=data,col="day",col_wrap=4) 

image.png

sns.lmplot(x="total_bill",y="tip",data=data,col="day",col_wrap=2) 

image

aspect:Соотношение сторон контрольной диаграммы

sns.lmplot(x="total_bill",y="tip",data=data,aspect=1)  
 #长度比宽度等于一比一,即正方形

image

sns.lmplot(x="total_bill",y="tip",data=data,aspect=1.5)  
#长度比宽度等于1:1.5,可以看到横轴更长一点

image.png

sharex:Общие деления по оси X (по умолчанию True)

sharey:Общие деления оси Y (по умолчанию True)

sns.lmplot(x="total_bill",y="tip",data=data,row="sex",col="smoker",sharex=False)
 #可以看到设置为False时,各个子图的x轴的5#坐标刻度是不一样的

image

hue:для классификации

sns.lmplot(x="total_bill",y="tip",data=data,hue="sex",palette="husl") 

image.png

ci:Контролируйте доверительный интервал регрессии (все студенты, изучавшие статистику, должны это знать)

#显示0.95的置信区间
sns.lmplot(x="total_bill",y="tip",data=data,ci=95)

ci.png

x_jitter:Случайное добавление точек шума к оси X

y_jitter:Случайное добавление точек шума к оси Y

Установка этих двух параметров не влияет на конечную линию регрессии.

sns.lmplot(x="size",y="tip",data=data,x_jitter=False) 

image

sns.lmplot(x="size",y="tip",data=data,x_jitter=True)    
#可以看到刚才的一列一列的数据点被随机   
#打乱了,但不会影响到最后的回归直线

image

order:Управляет мощностью, с которой выполняется регрессия (более одного — это полиномиальная регрессия).

sns.lmplot(x="total_bill",y="tip",data=data,order=1)  #一元线性回归

image.png

sns.lmplot(x="total_bill",y="tip",data=data,order=2) #次数最高为2

image

sns.lmplot(x="total_bill",y="tip",data=data,order=3) #次数最高为3

image

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

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

底部二维码.png