본문 바로가기
데이터분석데브코스 8/이론

EDA란?

by DataJ 2025. 5. 29.
  • EDA(Exploratory Data Analysis)란, 모델을 만들기 전 데이터를 이해하고 준비하는 과정입니다.

EDA의 목적은 다음과 같아요:

  • 데이터 품질 확인 (결측치, 이상치 등)
  • 데이터의 전반적인 분포와 패턴 이해
  • 모델링 전 사전 준비

왜 중요할까?

"Garbage In, Garbage Out"이라는 말처럼, 데이터가 부정확하면 아무리 좋은 모델을 써도 결과는 엉망이 됩니다.


데이터 EDA 기법 정리

다양한 EDA 기법들이 소개되었는데요, 하나씩 풀어볼게요.

기술 통계 분석

  • 숫자 변수: 평균, 최대/최소값 등 범위 확인
  • 범주형 변수: 카테고리 수 파악
  • 머신 러닝 모델에 맞게 적절한 인코딩 필요

결측치 처리

  • 비어 있는 값(null)을 찾아 처리
  • 평균값, 최빈값으로 채우거나, 해당 데이터를 삭제

이상치 처리

  • 너무 크거나 작은 값
  • 제거하거나 평균값/로그변환 등으로 보정

데이터 최신성, 고유성 체크

  • 최신 데이터인지 확인 (타임스탬프 활용)
  • Primary Key가 유일한지 확인 (중복 제거)

레이블 분포 확인

  • 예측 대상 값(label)이 편향되었는지 확인
  • 불균형하다면 SMOTE 같은 기법 사용

SMOTE란?

  • SMOTE(Synthetic Minority Over-sampling Technique)는

적은 수의 클래스(소수 클래스) 데이터를 인공적으로 생성해서

데이터 불균형 문제를 해결하는 오버샘플링 방법입니다.

왜 필요한가요?

예를 들어, 타이타닉 데이터에서 생존자 100명, 사망자 900명이라면?

  • 머신러닝 모델은 대부분의 데이터를 차지하는 사망자 위주로 학습하게 돼요.
  • 생존자 예측을 잘 못하는 편향된 모델이 만들어지죠.

이럴 때 SMOTE를 쓰면 소수 클래스(생존자)의 데이터를 새로 만들어서,

전체 데이터를 균형 있게 맞출 수 있어요.

SMOTE는 어떻게 작동하나요?

  1. 소수 클래스 데이터 중 하나를 고름
  2. 그 데이터와 가까운 이웃(비슷한 데이터) 몇 개를 선택
  3. 그들 사이의 중간값을 랜덤하게 만들어서 새로운 가짜 데이터를 생성

즉, 기존 데이터를 단순 복제하는 게 아니라 비슷한 데이터를 창조해서 더 자연스러운 오버샘플링이 가능해요.

주의점은?

  • 너무 많은 데이터를 만들면 과적합(Overfitting) 위험
  • 이상치(outlier)도 증식될 수 있으므로, 먼저 이상치를 제거하고 SMOTE를 적용하는 것이 좋아요

정리하자면

  • SMOTE는 불균형 데이터를 균형 잡히게 만드는 기법
  • 특히 분류(Classification) 문제에서 많이 사용됨
  • 기존 소수 클래스를 확장하면서도 다양성을 유지할 수 있음

상관관계 분석 및 피처 엔지니어링

  • 변수 간 관계 분석 (예: corr 함수)
  • 새로운 파생 변수 생성 (예: 나이 * 소득)

머신 러닝이란?

  • Machine Learning(기계학습)은 데이터를 바탕으로 패턴을 학습하고 예측하는 기술입니다.

Arthur Samuel은 "명시적으로 프로그래밍하지 않고도 학습하는 능력을 컴퓨터에 부여하는 분야"라고 정의했어요.

딥러닝과의 관계는?

  • 딥러닝은 머신 러닝의 한 분야로, 신경망 구조를 사용
  • 이미지 인식, 자연어 처리(GPT 등) 등에 강함
  • 머신 러닝 ⊃ 딥러닝

머신 러닝의 종류

  1. 지도 학습(Supervised Learning): 정답이 있는 데이터로 학습
    • 예: 타이타닉 생존 예측 (분류), 집값 예측 (회귀)
  2. 비지도 학습(Unsupervised Learning): 정답 없이 데이터 군집화
    • 예: 문서 군집화, 고객 세그먼트 분석
  3. 강화 학습(Reinforcement Learning): 시행착오를 통해 최적 전략 학습
    • 예: 게임 AI, 자율주행

머신 러닝 모델 만드는 과정

  1. 데이터 전처리
  2. 모델 학습 (Training)
  3. 예측 API 설계
  4. 모델 추론 및 성능 모니터링

예: 타이타닉 예측에서 '성별'을 숫자로 바꾸고, 나이 등을 정규화한 후 모델에 입력


실전 활용 팁

  • 항상 데이터 품질부터 확인하세요
  • EDA는 노가다일 수 있지만, 모델 성능 향상의 지름길!
  • 정규화, Cross-validation, 정규화 기법(L1/L2) 등을 활용해 과적합을 방지하세요
  • 예측 API 설계 시, 훈련과 동일한 데이터 처리 방식 유지가 핵심입니다
  • 실무에선 MLOps와 같은 운영 체계도 고려하세요

요약

  • EDA는 데이터 분석의 기초 작업
  • 머신 러닝은 패턴 학습과 예측을 위한 기술
  • 다양한 기법과 도구를 활용해 데이터를 다듬고, 모델 성능을 끌어올리는 것이 핵심
  • 실무에서는 데이터 처리부터 모델 운영까지 통합적으로 고려해야 함