본문으로 건너뛰기
데이터 분석 · AI 기초집LESSON 13

분포와 이상치 해석: 히스토그램과 박스플롯

난이도초급
예상 시간35분
선수지식이전 강의

13강. 분포와 이상치 해석: 히스토그램과 박스플롯

1. 이번 강의에서 해결할 문제​

평균과 표준편차만으로는 여러 봉우리, 치우침과 꼬리를 보기 어렵습니다. 그래프와 수치 기준을 함께 사용해야 합니다.

2. 학습 목표​

3. 핵심 개념​

히스토그램은 연속 값을 구간으로 나눈 빈도를 보여 주며 bin 경계에 따라 인상이 달라집니다. 박스플롯은 Q1, 중앙값, Q3와 IQR을 사용해 중심과 퍼짐을 압축합니다. 흔한 1.5×IQR 규칙은 검토 후보를 찾는 규칙이지 삭제 명령이 아닙니다.

4. 단계별 실습​

1. 예제 파일 작성​

실행 환경: 코드 편집기

실행 위치: C:\dev\game-data-lab

실행 전 확인: 기존 파일이 있으면 내용을 덮어쓰지 말고 Git diff로 이번 강의 변경 범위를 확인합니다. 실제 개인정보·API Key·토큰은 사용하지 않습니다.

대상 파일: src/plot_distributions.py

src/plot_distributions.py
from pathlib import Path
import matplotlib.pyplot as plt
import pandas as pd

df = pd.read_csv("data/processed/analysis_sessions.csv")
q1, q3 = df["score"].quantile([0.25, 0.75])
iqr = q3 - q1
lower, upper = q1 - 1.5 * iqr, q3 + 1.5 * iqr
print("IQR 범위:", lower, upper)
print("후보:", df.loc[~df["score"].between(lower, upper), ["session_id", "score"]], sep="\n")

Path("reports/figures").mkdir(parents=True, exist_ok=True)
fig, axes = plt.subplots(1, 2, figsize=(10, 4))
axes[0].hist(df["score"], bins=5, edgecolor="black")
axes[0].set(title="Score distribution", xlabel="score", ylabel="matches")
axes[1].boxplot(df["score"], vert=True)
axes[1].set(title="Score boxplot", ylabel="score")
fig.tight_layout()
fig.savefig("reports/figures/score_distribution.png", dpi=150)
plt.close(fig)

2. 실행과 결과 확인​

실행 환경: Windows PowerShell

실행 위치: C:\dev\game-data-lab

실행 전 확인: Python 코드는 프로젝트의 .venv 인터프리터를 사용하고 입력 파일 경로가 존재하는지 확인합니다.

대상: src/plot_distributions.py과 이 강의가 만드는 출력

Windows PowerShell
Set-Location C:\dev\game-data-lab
.\.venv\Scripts\python.exe .\src\plot_distributions.py
Get-Item .\reports\figures\score_distribution.png

예상 결과: IQR 경계와 후보가 출력되고 히스토그램·박스플롯을 담은 PNG가 생성됩니다.

5. 분석 또는 모델이 동작하는 이유​

히스토그램은 구간별 빈도를, 박스플롯은 순위 기반 요약을 보여 서로 다른 관점을 제공합니다. 저장 후 plt.close하면 반복 실행에서 Figure가 쌓이지 않습니다.

6. 자주 하는 실수와 해결법​

7. 직접 실습​

8. 이해 점검 질문 3개​

9. 핵심 요약​

MINI QUIZ

분포와 이상치 해석: 히스토그램과 박스플롯 미니 퀴즈

선택 즉시 정답과 해설을 확인할 수 있습니다. 결과는 이 브라우저에만 저장됩니다.

0 / 2
  1. 문제 1“분포와 이상치 해석: 히스토그램과 박스플롯”에서 다음 단계로 넘어가기 전에 확인할 핵심은 무엇인가요?
  2. 문제 2“분포와 이상치 해석: 히스토그램과 박스플롯”에서 ‘그래프 축·단위를 생략하기’ 문제가 생겼습니다. 가장 알맞은 진단 또는 대응은 무엇인가요?
LESSON STATUS

학습을 마쳤나요?

직접 실습과 점검 질문까지 확인한 뒤 완료로 표시하세요.

13강. 분포와 이상치 해석: 히스토그램과 박스플롯 미완료 상태