- 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는 어떻게 작동하나요?
- 소수 클래스 데이터 중 하나를 고름
- 그 데이터와 가까운 이웃(비슷한 데이터) 몇 개를 선택
- 그들 사이의 중간값을 랜덤하게 만들어서 새로운 가짜 데이터를 생성
즉, 기존 데이터를 단순 복제하는 게 아니라 비슷한 데이터를 창조해서 더 자연스러운 오버샘플링이 가능해요.
주의점은?
- 너무 많은 데이터를 만들면 과적합(Overfitting) 위험
- 이상치(outlier)도 증식될 수 있으므로, 먼저 이상치를 제거하고 SMOTE를 적용하는 것이 좋아요
정리하자면
- SMOTE는 불균형 데이터를 균형 잡히게 만드는 기법
- 특히 분류(Classification) 문제에서 많이 사용됨
- 기존 소수 클래스를 확장하면서도 다양성을 유지할 수 있음
상관관계 분석 및 피처 엔지니어링
- 변수 간 관계 분석 (예: corr 함수)
- 새로운 파생 변수 생성 (예: 나이 * 소득)
머신 러닝이란?
- Machine Learning(기계학습)은 데이터를 바탕으로 패턴을 학습하고 예측하는 기술입니다.
Arthur Samuel은 "명시적으로 프로그래밍하지 않고도 학습하는 능력을 컴퓨터에 부여하는 분야"라고 정의했어요.
딥러닝과의 관계는?
- 딥러닝은 머신 러닝의 한 분야로, 신경망 구조를 사용
- 이미지 인식, 자연어 처리(GPT 등) 등에 강함
- 머신 러닝 ⊃ 딥러닝
머신 러닝의 종류
- 지도 학습(Supervised Learning): 정답이 있는 데이터로 학습
- 예: 타이타닉 생존 예측 (분류), 집값 예측 (회귀)
- 비지도 학습(Unsupervised Learning): 정답 없이 데이터 군집화
- 예: 문서 군집화, 고객 세그먼트 분석
- 강화 학습(Reinforcement Learning): 시행착오를 통해 최적 전략 학습
- 예: 게임 AI, 자율주행
머신 러닝 모델 만드는 과정
- 데이터 전처리
- 모델 학습 (Training)
- 예측 API 설계
- 모델 추론 및 성능 모니터링
예: 타이타닉 예측에서 '성별'을 숫자로 바꾸고, 나이 등을 정규화한 후 모델에 입력
실전 활용 팁
- 항상 데이터 품질부터 확인하세요
- EDA는 노가다일 수 있지만, 모델 성능 향상의 지름길!
- 정규화, Cross-validation, 정규화 기법(L1/L2) 등을 활용해 과적합을 방지하세요
- 예측 API 설계 시, 훈련과 동일한 데이터 처리 방식 유지가 핵심입니다
- 실무에선 MLOps와 같은 운영 체계도 고려하세요
요약
- EDA는 데이터 분석의 기초 작업
- 머신 러닝은 패턴 학습과 예측을 위한 기술
- 다양한 기법과 도구를 활용해 데이터를 다듬고, 모델 성능을 끌어올리는 것이 핵심
- 실무에서는 데이터 처리부터 모델 운영까지 통합적으로 고려해야 함
'데이터분석데브코스 8 > 이론' 카테고리의 다른 글
AWS SageMaker란? (0) | 2025.06.02 |
---|---|
Classification 모델, Regression 모델 (2) | 2025.05.29 |
8 - 24. 성능 평가 metric (0) | 2025.05.29 |
8 - 23. 교차 검증(Cross Validation) (0) | 2025.05.29 |
8 - 21. 이미지 & 텍스트 처리 (2) | 2025.05.29 |