개발 창고/AI

파이썬으로 배우는 탐색적 데이터 분석 실전 가이드

Royzero 2025. 6. 28. 22:00
반응형

EDA란 무엇인가? (탐색적 데이터 분석 입문)

데이터 분석을 한다는 건 마치 요리를 준비하는 것과 같습니다.
EDA(탐색적 데이터 분석)는 본격적으로 요리를 시작하기 전에 재료를 하나하나 꺼내보고, 썩은 재료는 없는지, 어떤 재료가 얼마나 있는지 살펴보는 과정이에요.

또는 건강검진에 비유할 수도 있습니다.
몸 상태를 정확히 파악하지 않고 약을 처방하면 부작용이 생길 수 있듯, 데이터를 충분히 이해하지 않고 모델을 만들면 부정확한 예측이나 잘못된 인사이트를 얻게 될 수 있어요.

그래서 데이터를 분석하거나 머신러닝 모델을 만들기 전에는 반드시 EDA부터 시작해야 합니다.


EDA(Exploratory Data Analysis)란?

EDA는 데이터를 시각화하고 요약 통계로 살펴보면서,

  • 데이터에 어떤 패턴이 있는지
  • 이상치는 없는지
  • 결측치오류는 어떤 식으로 존재하는지
  • 변수 간 관계가 어떻게 나타나는지
    등을 탐색하는 과정입니다.

EDA는 모델 학습 이전의 사전 작업이지만, 데이터 분석에서 가장 핵심적인 단계입니다.


왜 EDA가 중요한가?

  • 데이터 품질 점검: 결측치, 이상치, 중복 등 확인
  • 변수 간 관계 탐색: 상관관계나 트렌드 파악
  • 도메인 이해 보조: 변수 의미와 유의미한 조합 찾기
  • 전처리 전략 수립: 정규화, 인코딩, 변환 방식 결정
  • 모델링 방향 설정: 문제 정의 및 변수 선택 기반 마련

EDA 없이 분석을 시작하는 건, 지도 없이 여행을 떠나는 것과 같습니다.


EDA의 기본 단계

1. 데이터 구조 이해

df.info()
df.head()

2. 기초 통계 확인

df.describe()
df.isnull().sum()

3. 단변량 분석 (Univariate)

  • 히스토그램, 카운트 플롯 등
df['Age'].hist()
df['Sex'].value_counts()

4. 이변량/다변량 분석

  • 변수 간 상관관계 시각화
import seaborn as sns
sns.heatmap(df.corr(), annot=True)

5. 이상치 확인

sns.boxplot(x=df['Fare'])

6. 결측치 시각화

import missingno as msno
msno.matrix(df)

실전 예시: 타이타닉 데이터셋 EDA

import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt

df = pd.read_csv("titanic.csv")

# 데이터 구조 확인
print(df.info())

# 성별에 따른 생존율 시각화
sns.countplot(x="Survived", hue="Sex", data=df)
plt.show()

# 나이 분포
sns.histplot(df["Age"].dropna(), bins=20)
plt.show()

분석 결과 예시:

  • 여성의 생존율이 높음
  • 승객의 나이는 20~30대가 많음
  • 'Cabin'과 'Age' 컬럼에 결측치 존재

자주 쓰이는 라이브러리

  • Pandas: 데이터 조작 및 분석
  • Matplotlib / Seaborn: 데이터 시각화
  • Missingno: 결측치 시각화
  • Plotly: 인터랙티브 그래프
  • Sweetviz / Pandas-Profiling: 자동 분석 리포트 생성

실무 팁

  • .describe()만 하지 말고 시각화로 패턴을 직접 확인하세요.
  • 단순히 평균만 보지 말고, 분포와 이상치도 체크하세요.
  • 데이터를 여러 각도에서 비교하면서 질문과 가설을 세우는 사고방식이 중요합니다.
  • 도메인 지식과 결합된 EDA는 모델보다 더 강력한 인사이트를 줄 수도 있어요.

요약

EDA는 단순한 사전 작업이 아닌, 데이터 분석의 출발점이자 핵심 과정입니다.
데이터를 제대로 이해하지 않고는 좋은 모델이 나올 수 없습니다.

EDA는 "데이터를 읽는 눈"을 길러주는 훈련이기도 합니다.
처음에는 느릴 수 있지만, 실력이 쌓일수록 EDA 속도가 분석의 속도가 됩니다.

반응형