티스토리 뷰
기본적으로 타이타닉 데이터셋
import seaborn as sns
titanic = sns.load_dataset('titanic') # 타이타닉 데이터 불러오기
범주형의 데이터 시각화
막대 그래프, 포인트 플롯, 박스 플롯, 바이오린플롯, 카운트 플롯이 차례대로 있다.
sns.barplot(x='class', y='fare', data=titanic);
#x는 클래스로 잡고, y는 fare 잡았다.
#앞선 숫자형 플롯들과 다른 점은, 뒤쪽에 데이터가 붙는다는 것.
막대 상단의 검은색 세로줄이 오차 막대.
개인적으로 주식 캔들바랑 비슷해서 훨씬 익숙하다.
포인트 플롯
막대 그래프와 모양만 다를 뿐 동일한 정보.
다만 막대가 사라지고 각 꼭대기 부분을 선으로 연결
sns.pointplot(x='class', y='fare', data=titanic);
포인트 플롯은 한 화면에 여러 그래프를 그릴 때 아주 유용하다!
박스 플롯
박스 플롯은 더 많은 정보를 제공
주식을 하는 사람들이라면, 윗꼬리, 아랫꼬리가 있는 캔들바를 생각하면 쉽다!
최솟값 - 이상치를 제외하고 가장 작은 값(캔들의 아랫꼬리) / Q1 - (1.5*IQR)
제 1사분위 수(Q1) - 하위 25%에 해당하는 값(캔들의 아랫부분)
제 2사분위 수(Q2) - 중앙값 (캔들의 중간) / 50%에 해당하는 값
제 3사분위 수(Q3) - 상위 25%에 해당하는 값(캔들의 윗부분)
사분위 범위 수(IQR) - Q3-Q1
최댓값 - 이상치를 제외하고 가장 큰 값(캔들의 윗꼬리) / Q3+(1.5*IQR)
이상치 - 최댓값보다 큰 값과 최솟값보다 작은 값
한마디로 캔들에서 점찍이는 건 이상치다.
그 이외에서는 캔들이 움직인다.
sns.boxplot(x='class', y='age', data=titanic);
박스플롯도 마찬가지로 이렇게 쓴다.
바이올린플롯
박스플롯 + 커널밀도추정함수 그래프
중간에 캔들 모양 + 커널밀도추정함수를 가로에서 세로로 세워놓은 모습
범주 요약 5가지를 한눈에 보고 싶으면 박스플롯이고, 전체적인 분포를 보고 싶다면 바이올린
sns.violinplot(x='class', y='age', data=titanic);
추가로 hue 명령어를 사용하면 더해서 그릴 수 있다.
여기서도 숫자형 그래프와 반대로 앞에 붙인다.
split=True면 전달한 변수들을 반으로 나눠서 각각 보여준다.
sns.violinplot(x='class', y='age', hue='sex', data=titanic, split=True);
카운트플롯
범주형 데이터의 개수를 확인할 때 사용하는 그래프.
sns.countplot(x='class', data=titanic);
sns.countplot(y='class', data=titanic);
#y로 바꾸면 그래프가 눕혀짐
파이 그래프
비율를 알아볼 때 사용하기 좋은 그래프.
특이하게 pie() 함수로 그릴 수 있다.
이건 matplotlib.pyplot에서 나온다.
import matplotlib.pyplot as plt
x = [10, 60, 30] # 범주형 데이터별 파이 그래프의 부채꼴 크기(비율)
labels = ['A', 'B', 'C'] # 범주형 데이터 레이블
plt.pie(x=x, labels=labels, autopct='%.1f%%');
출처: [Must Have]머신러닝 딥러닝 문제해결 전략