AI study - Seaborn

안준영·2023년 10월 9일
0
post-thumbnail

Seaborn

1. seaborn이란?

seaborn은 파이썬 시각화 라이브러리 중 하나로 matplotlib이라는 또 다른 라이브러리에 있는 개념을 확장하여 사용가능한 라이브러리이다. 블로그에서 실습한 것처럼 seaborn에 내장된 penguins dataset을 이용해 블로그를 작성해볼까 한다. 아래는 penguins dataset을 사용하기 위해 받아야 할 변수들이다.

speicies: 종
island: 서식지
bill_length_mm: 부리길이
bill_depth_mm: 부리 위아래 길이
flipper_length_mm: 팔 길이
body_mass_g: 몸무게
sex: 성별

2.시각화를 위한 데이터 불러오기와 전처리

data load
import seaborn as sns

data = sns.load_dataset('penguins')

위 코드를 사용하여 seaborn 내에 있는 penguins dataset을 불러왔다. 위 코드를 실행하면 아래와 같은 결과값을 얻는다.

위에서 알 수 있듯, 4번째 줄(3번째 행)에 값은 NaN 값을 얻은 것을 알 수 있다. 이 때문에 데이터 시각화를 편하게 하기 위해 데이터 전처리 과정을 밟는 것이다. 아래 코드와 실행값을 데이터 전처리 과정의 코드와 그 실행값이다.

data = data.dropna()

plot

1. hisplot

hisplot은 가장 기본적인 히스토그램을 생성하는 plot으로 보통 전체 데이터를 특정 구간별로 확인할 때 쓰인다. 히스토그램의 경우 구간에 따른 카운트를 데이터로 표현하기 때문에 y 값은 고정되어 있고, x값만 조정할 수 있다.

  • bins: 그래프 개수에 따른 분포 조정
  • hue : ~에 따라 색을 조정하는 기능
  • multiplit : 색이 겹치는 경우를 고려하여 색 및 색 개수를 조정하는 옵션
import matplotlib.pyplot as plt

plt.figure()
plt.title('Distribution over body_mass', fontsize = 14)
sns.hisplot(data=data, x= 'body_mass_g', bins= 15, hue = 'species', mulitple = 'stack')

2. displot

displot은 distribution을 여러 subplot에 나눠주는 역할을 하는 plot이다. displot의 kind를 변경하여 hist(히스토그랩), kde(커널 밀도 추정), ecd(기체 크로마토 그래프)를 모두 출력가능하다.

sns.displot(data= data, kind = 'kde', x = 'body_mass_g', hue = 'species')

3. Barplot

barplot은 데이터의 크기를 막대로 보여주는 plot으로 가로 세로 모두 출력가능하다

sns.barplot(data = data, x = 'body_mass_g', y = 'species', hue = 'sex')

4. 그 외의 plot들

-countplot: 범주형 속성을 지니는 데이터들을 히스토그램을 만들고 싶을 때 쓰임.

-boxlplot: 데이터 변수별 사분위수를 표시하는 그래프, 데이터의 전체적인 분포를 알기 쉽다.

-violineplot: 변수에 대한 분포 자체를 보여주는 그래프, 평균 근처에 얼마만큼 데이터가 존재하는지 알 수 있는 그래프이다.

-lineplot : 두 변수 간의 관계를 확인할 수 있는 plot으로, 수치형 지표들 간의 관계를 파악할 때 쓰임.(예: 몸무게가 늘어날수록 팔길이가 길어지는 경향을 보임)

-point plot: 특정 수치 데이터를 오차 범위와 함께 보여주는 plot. 가운데 점은 그 오차범위의 평균을 나타낸다.

-scatter plot : lineplot과 비슷하게 전체적인 분포를 나타낸다. lineplot은 그 데이터 분포의 경향성에 초점을 둔다면, scatter plot은 데이터들이 퍼져있는 모양 그 자체에 중점을 둔다.

-pair plot : 주어진 데이터의 각 변수 사이의 관계를 표시하는 plot으로, scatterplot, facetGrid, kdeplot을 이용하여 각 변수들 간의 관계를 보여준다.(데이터 따로 지정X)

-heatmap: 이 plot은 정사각형 그림에 표 형태로 나타낸 것으로 변수들 간의 상관계수를 표현할 때 주로 씀.

profile
함께하는 스터디

0개의 댓글