seaborn.pairplot繪制及理解

關(guān)于seaborn.pairplot 的筆記

  1. 參考自seaborn.pairplot
  2. 自己對(duì)這個(gè)統(tǒng)計(jì)圖形的思考

為什么是pairplot

pairplot繪制的是成對(duì)的變量關(guān)系圖表。這就說明,我們?cè)谧鱿嚓P(guān)的數(shù)據(jù)分析探索的時(shí)候,用seaborn.pairplot()不僅可以繪制特征變量X和預(yù)測(cè)變量y關(guān)系,還可以繪制特征變量X間的關(guān)系。

繪制函數(shù)

以最常見的機(jī)器學(xué)習(xí)數(shù)據(jù)集House Prices Prediction作為樣例,詳見Kaggle

from __future__ import print_function, division
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
%matplotlib inline

import seaborn as sns
import pandas as pd

train_file = './data/train.csv'
df_train = pd.read_csv(train_file)

## 我們已經(jīng)通過heatmap找到與'SalePrices'相關(guān)系數(shù)大于0.5的變量,
## 同時(shí)經(jīng)過一定的分析刪除了一些變量后剩余的變量。

sns.set()
cols = ['SalePrice', 'OverallQual', 'GrLivArea', 
'GarageCars', 'TotalBsmtSF', 'FullBath', 'YearBuilt']

sns.pairplot(df_train[cols], size = 2.5)
plt.show()
pairplot.png

重點(diǎn)在于分析

  1. 主對(duì)角線是對(duì)應(yīng)單變量的直方圖分布(默認(rèn)),可以使用參數(shù)diag_kind="kde"將其變?yōu)榉植己瘮?shù)形式。但是根據(jù)實(shí)際情況,如果即存在數(shù)值型變量也存在標(biāo)簽型變量,那么用直方圖合適。如果全是數(shù)值型變量,用分布函數(shù)最好。
  2. 找出特征變量中所有標(biāo)簽型變量和數(shù)值型變量。標(biāo)簽型: 'OverallQual', 'GarageCars', 'FullBath'。數(shù)值型: 'YearBuilt','GrLivArea','TotalBsmtSF',
  3. 只分析特征變量和預(yù)測(cè)變量時(shí),我們看第一列。我們發(fā)現(xiàn):這六個(gè)變量和預(yù)測(cè)變量是存在線性關(guān)系的。
  4. 分析特征變量間的關(guān)系時(shí),我們發(fā)現(xiàn): 1. 'GrLivArea'和'TotalBsmtSF'可能有一定的線性關(guān)系,2. 'YearBuilt'和'SalePrice'的上方出現(xiàn)截?cái)唷?/li>
  5. 這個(gè)只是初步分析的結(jié)果,深入分析還需更進(jìn)一步。

注意事項(xiàng)

  1. 注意這里使用的數(shù)據(jù)類型是pandas.DataFrame,不是numpy。
  2. 繪制多樣圖時(shí), 參見seaborn.pairplot
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容