1. 상자 수염 그래프 Box plot
🍒 데이터의 분포 또는 퍼져 있는 형태를 직사각형 상자 모양으로 표현한 그래프
🍒 상자 그림을 보면 데이터가 어떻게 분포하고 있는지 알 수 있기 때문에 평균값만 볼 때 보다 데이터의 특징을 더 자세히 이해할 수 있음
🍒 사람의 나이가 500살, 키가 5미터 등은 표현은 가능하지만 현실적으로 불가능한 값들 이를 이상치, 극단치라고 하는데
이상치는 효과적인 데이터 분석을 위해 제거해야 함
⚡️ 이상치를 제거하기 위해 값의 정상 범위를 정하는 방법이 있다.
▶️ 나이의 경우 121살은 이상치로 보는 것
⚡️ 다른 방법으로 통계적인 기법을 사용
▶️ 정규 분포에서 상하위 0.2% 밖의 데이터를 극단적인 값으로 가정하여 제거
1) 상자 그림 만들기
✏️ sns.boxplot()을 사용하여 그래프 생성
✏️ 값을 크기순으로 나열해 4등분했을 때 위치하는 값인 '사분위수'를 이용해 그래프가 생성 된다
✏️ 다음은 상자 그림의 요소가 나타내는 값
상자 그림 | 값 | 설명 |
상자 아래 세로선 | 아랫수염 | 하위 0 ~ 25% 내에 해당하는 값 |
상자 밑면 | 1사분위수(Q1) | 하위 25% 위치 값 |
상자 내 굵은 선 | 2사분위수(Q2) | 하위 50% 위치 값 (중앙값) |
상자 윗면 | 3사분위수(Q3) | 하위 75% 위치 값 |
상자 위 세로선 | 윗수염 | 하위 75 ~ 100% 내에 해당하는 값 |
상자 밖 가로선 | 극단치 경계 | Q1, Q3 밖 1.5 IQR 내 최대값 |
상자 밖 점 표식 | 극단치 | Q1, Q3 밖 1.5 IQR을 벗어난 값 |
📍 IQR(사분위 범위)은 1사분위수와 3사분위수의 거리(직사각형의 높이)를 뜻하고 '1.5 IQR'은 IQR의 1.5배을 뜻함
📁 mpg 데이터를 이용해 x축을 drv, y축을 hwy로 지정하고 '구동 방식별 고속도로 연비'를 상자 그림으로 표현
📌 mpt.csv : '구동 방식별 고속도로 연비 평균'
📌 displ(배기량)
📌 hwy(고속도로 연비)
📌 drv(구동방식)
import seaborn as sns
import pandas as pd
import matplotlib.pyplot as plt
# 데이터 준비
mpg = pd.read_csv('../input/mpg.csv')
# 그래프 생성
sns.boxplot(data=mpg, x='drv', y='hwy')
plt.show()
📍 전륜구동(f)은 26 ~ 29 사이의 좁은 범위에 자동차가 모여 있는 뾰족한 형태의 분포
📍 수염의 위아래에 점 표식이 있는 것을 보면 연비가 극단적으로 높거나 낮은 자동차들이 존재
📍 4륜구동(4)은 17 ~ 22 사이에 자동차 대부분이 모여 있는 형태
▶️ 중앙값이 상자 밑면에 가까운 것을 보면 낮은 값 쪽으로 치우친 형태의 분포
📍 후륜구동(r)은 17 ~ 24 사이의 넓은 범위에 자동차가 분포
▶️ 수염이 짧고 극단치가 없는 것을 보면 자동차 대부분이 사분위 범위에 해당
[ 내용 참고 : IT 학원 강의 ]
'Programming Language > Python' 카테고리의 다른 글
[Python] Folium 라이브러리 | 지도 시각화, 마커, 단계구분도 (0) | 2024.03.15 |
---|---|
[Python] Seaborn | 선 그래프 line chart (0) | 2024.03.15 |
[Python] Seaborn | 산점도 그래프 - scatter plot (0) | 2024.03.15 |
[Python] Seaborn | 산점도 그래프 - Strip plot (0) | 2024.03.15 |
[Python] Seaborn | 평균/빈도 막대 그래프 (0) | 2024.03.15 |