Python統計分析可視化庫seaborn(相關性圖,變量分佈圖,箱線圖等等)

Visualization of seaborn
  seaborn[1]是一個創建在matplot之上,可用於製做豐富和很是具備吸引力統計圖形的Python庫。Seaborn庫旨在將可視化做爲探索和理解數據的核心部分,有助於幫人們更近距離了解所研究的數據集。不管是在kaggle官網各項算法比賽中,仍是互聯網公司的實際業務數據挖掘場景中,都有它的身影。算法

   在本次介紹的這個項目中,咱們將利用seaborn庫對數據集進行分析,分別展現不一樣類型的統計圖形。spa

首先,咱們將導入可視化所需的全部必要包,咱們將使用到的幾個包:3d

Numpy
pandas
matplotlib
seaborn

code

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

tips = pd.read_csv('tips.csv')
tips.head()

 

 

各屬性相關性blog

# 相關性
tips.corr()
Out[2]: 
            total_bill       tip      size
total_bill    1.000000  0.675734  0.598315
tip           0.675734  1.000000  0.489299
size          0.598315  0.489299  1.000000

 

pair plot圖

#相關性圖 很壯觀
sns.pairplot(tips) 

看圖說話:這些圖展示了數據集中消費總額、小費金額以及顧客數量三個特徵(變量)之間的聯繫。圖片

 

#相關性圖,和某一列的關係
sns.pairplot(tips ,hue ='sex', markers=["o", "s"])

 

# 相關性熱力圖
sns.heatmap(tips.corr())

 看圖說話:熱力圖可用來顯示兩變量之間的相關性,在這裏兩變量間對應的矩形框的顏色越淺,表明二者之間越具備相關性。ip

# 分層相關性熱力圖
sns.clustermap(tips.corr())

 

g = sns.PairGrid(tips)
g.map_diag(sns.distplot)
g.map_upper(plt.scatter)
g.map_lower(sns.kdeplot)

看圖說話:這個厲害了。在pair grid圖中,你能夠根據本身需求,在這裏呈現上述介紹的各類類型的圖形。pandas

 

單個屬性的分佈it

 

dist plot圖數據挖掘

sns.distplot(tips['total_bill'])

 

 

sns.distplot(tips['total_bill'],kde = False)

看圖說話:上圖顯示,顧客在餐廳的消費總金額主要是在5-35的範圍內分佈的。

 

count plot圖

sns.countplot(x = 'smoker', data = tips)

看圖說話:上圖顯示,來餐廳就餐的顧客,不抽菸者比會抽菸者多

 

sns.countplot(x = 'size', data = tips)

這裏寫圖片描述 
看圖說話:上圖顯示,2我的來餐廳就餐的總次數多一些。

 

rug plot圖

sns.rugplot(tips['total_bill'])

 


看圖說話:上圖呈現的是,顧客就餐消費總額在各個值上的邊緣分佈。

 

kde plot圖

sns.kdeplot(tips['total_bill'], shade=True)

 

 

看圖說話:KDE表明內核密度估計,它也顯示了各個消費總金額數值的統計分佈。

 

 

兩兩屬性的相關性圖

 

joint plot圖

sns.jointplot(x = 'total_bill', y = 'tip', data = tips)


看圖說話:上圖顯示,顧客主要消費水平在10-30遠之間,而此時,對應給侍者小費的錢在1-5元之間。

 

sns.jointplot(x = 'total_bill', y = 'tip', data = tips ,kind = 'hex')

 

另外一種清晰地可視化視圖,顏色的深度表明頻次。

 

sns.jointplot(x = 'total_bill', y = 'tip', data = tips ,kind = 'reg')

 

 

看圖說話:經過作一條簡單的迴歸線,它代表了小費的金額是隨着總帳單金額的增長而增長的。

 

sns.jointplot(x = 'total_bill', y = 'tip', data = tips ,kind = 'kde')

 

 

另外一種可視化統計圖:某個區域越暗,代表這個區域對應的頻次越多。

 

box plot圖

sns.boxplot(x = 'day', y= 'total_bill', data = tips)


看圖說話:上圖顯示大部分帳單是在週六和週日支付的。

sns.boxplot(x = 'day', y= 'total_bill', data = tips, hue = 'sex')

 

看圖說話:在上面的圖表中你能夠看到,在週六時,女性買單的次數會比男性多。(難道是由於買買買,男性付了好多錢,女性爲了彌補男性的內心落差,而後請吃飯?哈哈)

 

violin plot

sns.violinplot(x = 'day', y= 'total_bill', data = tips)

 

看圖說話:voilin plot和box plot很類似,但它結合了box plot圖和密度痕跡。

sns.violinplot(x = 'day', y= 'total_bill', data = tips, hue = 'sex', split = True)

 

 

看圖說話:增長了性別的區分

 

strip plot圖

sns.stripplot(x = 'day', y = 'total_bill', data = tips)

 

 

看圖說話:這幅圖呈現的是周4、周5、週六和週日這四天,顧客消費總額的散點圖。

 

sns.stripplot(x = 'day', y = 'total_bill', data = tips, jitter= True,hue = 'sex', dodge = True)

 

 

看圖說話:和上圖同樣,只不過對性別進行了區別。

 

swarm plot圖

sns.swarmplot(x = 'day', y = 'total_bill', data = tips)

 

 

看圖說話:Swarn plot和stripplot比較相似,但Swarn plot的不一樣之處在於它不會重疊數據點。

 

factor plot圖

sns.factorplot(x = 'day', y = 'total_bill', kind = 'box', data = tips)

 

 

看圖說話:在factorplot圖中,你能夠給出任何你須要顯示的圖形。

相關文章
相關標籤/搜索