School/데이터사이언스개론

Scatterplot Matrix / heatmap

응엉잉 2022. 4. 16. 03:29

Scatterplot Matrix

여러 변수들 간의 관계를 한눈에 파악하기 매우 유용

seaborn 의 pairplot 이용해서 기능 사용 가능

 

내장 데이터셋인 "penguins" 사용해서 실습해보자 !

 

# seaborn 불러오기

import seaborn as sns

# 데이터파일 읽어들이고(load_dataset) 상위 5개 데이터 확인(head)

df_penguin = sns.load_dataset("penguins")
df_penguin.head()

# 단순 scatterplot : pairplot 이용

sns.pairplot(df_penguin)

# species 별로 색을 다르게 : hue 이용

sns.pairplot(df_penguin, hue="species")

# 대각선 셀에는 히스토그램 : diag_kind = 'hist'

sns.pairplot(df_penguin, hue="species", diag_kind="hist")

# 모두 분포 그림으로 : kind = 'kde' 

sns.pairplot(df_penguin, kind="kde")

** kind 자리에 올 수 있는 파라미터

'scatter' scatterplot

'kde' 커널 밀도 히스토그램

'hist' 히스토그램

'reg' 회귀선

 

# species 별로 점 모양 다르게 : species 수만큼 점 모양값을  markers 에 할당

sns.pairplot(df_penguin, hue="species", markers=["o", "s", "^"])

# subplot 별로 그림의 크기 및 비율 지정 : height, aspect 이용

sns.pairplot(df_penguin, height=1.5, aspect=1.6)

# 표시할 변수 목록 지정 : 표시하고싶은 변수를 x_vars 와 y_vars 에 리스트 형태로 할당

sns.pairplot(
df_penguin,
x_vars=["bill_length_mm", "bill_depth_mm", "flipper_length_mm"],
y_vars=["bill_length_mm", "bill_depth_mm"],
)

# 분포와 산점도의 혼합

# 대각선 그래프들에는 커널밀도함수
g = sns.pairplot(df_penguin, diag_kind="kde")
# 대각선 아래 그래프들에는 kdeplot
g.map_lower(sns.kdeplot, levels=4, color=".2")

 

heatmap

Scatterplot matrix 만으로 변수간의 상관관계 정도를 확실히 알기 어려울 때가 있음

서로 양/음의 상관관계를 갖는 변수들을 알아보고싶을때는 계량적 정보가 필요

 

seaborn 의 heatmap 은 상관계수를 표현하고, 색 온도를 통해 시각적으로 상관관계를 보여줌

# annot : cell 값의 표시 유무 / fmt = 포매팅 / linewidths = cell 사이 선 두께
sns.heatmap(df_penguin.corr(), annot=True, fmt='.2f', linewidths=2)

'School > 데이터사이언스개론' 카테고리의 다른 글

알고리즘-2  (0) 2022.04.24
알고리즘-1  (0) 2022.04.24
Quantile-Quantile Plot(Q-Q plot)  (0) 2022.04.16
Bihistogram  (0) 2022.04.16
Box Plot  (0) 2022.04.16