Intro

오늘 포스팅에서 다룰 주제는 Seaborn 라이브리러를 활용한 데이터 시각화 튜토리얼 (2)입니다.

해당 라이브러리에 대한 자료는 아리 링크에서 확인하실수 있습니다.

  • http://seaborn.pydata.org/index.html

참고자료

  • http://seaborn.pydata.org/tutorial.html (공식 홈페이지 튜토리얼)

  • https://datascienceschool.net/view-notebook/4c2d5ff1caab4b21a708cc662137bc65/


Plotting with categorical data

  • 데이터가 2차원이고 실수 값, categorical값이 섞여 있다면 기존의 플롯 이외에도 다음과 같은 분포 플롯들을 이용할 수 있다.


Boxplot

  • Boxplot은 사분위수 Quantile를 함께 표시해준다.
  • Quantile(사분위수)는 지나치게 범주에서 벗어나는 값들을 제외하고 핵심적인 범주의 데이터만 범위로 지정할 수 있는 방법중 하나

  • 사분위수에 대한 자세한 설명은 이곳으로


  • day는 categorical 범주형 data, total_bill은 numeric 실수형 data
  • 1Q - 3Q, 최대값 최소값 표시, 그 외 점들은 outlier 


Barplot

  • 가장 자주 쓰이는 형태중 하나

  • data 확인


  • x와 y축 뿐만 아니라 hue로 categorial 형의 hue에 따른 분포 확인 가능 


Plotting subsets of data with semantic mappings

  • x와 y가 numeric일 때 사용 

  • data 확인


  • line 형태로 time point 에 따른 signal 변화 확인 가능 


  • line 형태로 event별 time point 에 따른 signal 변화 확인 가능 


Visualizing the distribution of a dataset

  • univariate distribution 일변량(종속변수가 한 개인 데이터)의 분포 확인 가능

distplot

  • seaborn의 dist는 matplot의 hist를 (히스토그램)을 기반으로 하고있다.
  • x축은 변수 - 여기서는 랜덤으로 부여한 숫자 / y축은 커널 밀도 추정(Kernel Density Estimation)을 거친 정규화된 수치

  • Kernel Density Estimation이란 히스토그램을 구한 후 구해진 히스토그램을 정규화하여 확률밀도함수로 사용하는 것

  • KDE에 대한 자세한 자료는 해당 링크 참고: http://scikit-learn.org/stable/modules/density.html


  • kdf=False를 해주게 되면 y축에 해당 분포에 대한 절대치가 출력된다
  • rug = True로 해줄시 선분으로 해당 데이터의 위치가 표시된다


jointplot


  • 두 데이터가 모두 연속형의 실수값 numeric 이라면 두 변수간 관계를 jointplot을 통해 표시할 수 있다
  • 상단 부분과 오른쪽 부분에 해당 변수의 히스토그램도 함께 출력하게 된다 

Visualizing linear relationships

  • 선형 관계 확인 

lmplot

  • data 정보 확인 


  • 직선으로 x축과 y축에 선형 관계를 표시할 수 있다 


  • regplot과 lmplot은 단독으로 사용하였을때는 큰 차이가 없다

  • 하지만 lmplot을 주로 사용하는데 그 이유는 아래서 다시 설명하겠다



  • 이런식으로 깔끔하게 표시할 수 있다(outlier를 제외하고 표시해줌)


  • regplot과 달리 lmplot은 hue 파라미터로 categorial 변수를 지정하여 카테고리별로 각각 데이터의 분포와 선형 관계를 표시할 수 있다

  • 위 그래프는 smoker별로 total_bills에 따른 tip의 관계를 표시한 것 


+ Recent posts