관계 시각화 - 1. 스캐터 플롯 (산점도)
두 데이터 항목의 공통변이를 나타내는 2차원 도표이다. 데이터에서의 관계를 시각화 하는데 적합한 방법이다. 데이터 포인트들의 관련성 여부를 시각적으로 판단할 수 있다. (양의 상관관계, 음의 상관관계)
plt.scatter(x축 데이터리스트, y축 데이터리스트)로 그리거나, seaborn의 sns.scatterplot()으로 그릴 수 있다. 여기서 sns.regplot()을 하게 되면 회귀선과 신뢰범위까지 음영으로 표시된다. plt.scatter에 추세선과 회귀식을 추가하고 싶다면 numpy의 polyfit과 poly1d 함수를 사용해서 기울기와 절편값을 가지고 올 수도 있다.
관계 시각화 - 2. 버블차트
세가지 요소의 상관관계를 표현할 수 있는 방법이다. 가로축의 변수, 세로축의 변수, 버블의 크기로 변수를 나타낸다.
위에서 그린 산점도에서 사이즈를 나타내는 파라미터를 설정하면 버블차트가 된다. plt.scatter()의 경우 s를 사이즈로 사용하고, s=사이즈 데이터 리스트로 입력한다. sns.scatterplot에서는 size로 나타내고 data자체를 입력한 경우에는 data 내에 있는 사이즈 데이터의 열이름을 입력하면 된다.
관계 시각화 - 3. 히스토그램
도수분포표의 각 계급을 가로축에 나타내고 해당 계급에 속하는 측정값의 도수를 세로축에 표시하여 직사각형 모양으로 그려놓은 그래프이다. 가로축과 세로축은 연속적이다.
seaborn 패키지를 활용할 경우, sns.histplot()으로 그리고, matplotlib 패키지를 활용할 경우 sns.hist()로 그린다. seaborn의 경우 palette 파라미터를 통해 기존에 정의된 색상 조합을 사용할 수 있어 편리하다. kde=True로 설정하여 밀도곡선도 그릴 수 있다.
plt.hist()의 경우 bins 파라미터로 계급의 수를 나눌 수 있고 빈도수(아래, count)와 각 계급값(아래, histclass)을 리스트로 반환 받을 수 있따.
관계 시각화 - 4. 페어플롯
페어플롯으로 각 변수간의 관계도를 한눈에 확인할 수 있다. 아래 만든 페어플롯의 경우 대각선에는 해당 변수의 KDE 그래프(diag_kind='kde')를 나타내고, 위에는 regplot, 아래에는 contour plot을 그렸다.
다음 포스팅에서는 히트맵, 체르노프 페이스, 스타차트(거미줄차트,방사형차트), 평형좌표계, 다차원척도법을 그려본다. 링크는 다음과 같다: https://lovelydiary.tistory.com/422
댓글