본문으로 건너뛰기
데이터 분석 · 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강. 분포와 이상치 해석: 히스토그램과 박스플롯 미완료 상태