DIVERSITY IS GOOD
DIVERSITY IS GOOD

테크/Data Analysis

데이터 수집 · 전처리 : 깨끗한 데이터의 시작

diversity is good 2025. 4. 22. 16:13
반응형

 

왜 ‘데이터 수집과 전처리’가 중요한가?

 

“분석 시간의 80%는 전처리에 쓰인다”는 말은 일반적으로 통용됩니다. 잘못 수집된 데이터, 혹은 정제되지 않은 데이터는 멋진 모델도 한순간에 무력화합니다. 데이터 수집·전처리는 분석·머신러닝 파이프라인의 토대이며, 이 단계에서 품질이 결정됩니다.
또한 API, 크롤러, ETL 파이프라인 등 기술 스택을 이해해야 ‘재현 가능한 데이터 파이프라인’을 구축할 수 있습니다.

 


 

기초 ▶ 응용, 예시로 쉽게 이해하기

 

1. 데이터 수집 방법 총정리

수집 방식 주요 도구/라이브러리 한 줄 팁

API requests, httpx REST API 문서의 Rate Limit 확인 필수
웹 크롤링 BeautifulSoup, Selenium 동적 페이지는 Selenium, 정적은 BS4로 속도 ↑
DB 추출 SQL, SQLAlchemy WHERE로 날짜·PK 필터링 후 배치 추출
로그·파일 AWS S3, GCS, FTP 폴더 구조에 날짜 파티셔닝으로 관리
# REST API 예시
import requests, pandas as pd
resp = requests.get("https://api.example.com/v1/users", params={"limit": 1000})
df = pd.DataFrame(resp.json())

 

2. 데이터 형식 이해

 

  • 정형 데이터(Structured): 테이블/스키마 존재, 예) RDB, CSV
  • 반정형(Semi‑structured): JSON, XML (Key‑Value가 있으나 스키마 유동)
  • 비정형(Unstructured): 이미지, 음성, 자연어

Tip: 스키마 유효성 검사를 위해 Great Expectations를 적용하면 품질 이슈를 조기에 차단할 수 있습니다.

 

3. 데이터 전처리 필수 기법

 

  1. 정제(Cleaning)
    • 공백·대소문자 통일, 중복 제거, 타입 캐스팅
  2. 결측치 처리(Missing)
    • 삭제(dropna()), 대치(fillna()), 모델 기반 예측
  3. 이상치 탐색(Outlier)
    • IQR, Z‑score, Box‑plot 시각화
  4. 피처 엔지니어링
    • 로그 변환, 원‑핫 인코딩, 스케일링
# Pandas 기초 전처리
import pandas as pd, numpy as np

sales = pd.read_csv("sales.csv")
sales.columns = sales.columns.str.strip().str.lower()
sales["price"] = sales["price"].astype(float)

# 결측치 → 중앙값으로 채우기
sales["price"].fillna(sales["price"].median(), inplace=True)
# IQR 이상치 제거
iqr = sales["price"].quantile(0.75) - sales["price"].quantile(0.25)
upper = sales["price"].quantile(0.75) + 1.5*iqr
sales = sales[sales["price"] <= upper]

 

4. SQL 기반 대용량 전처리 예시

-- 결측치를 평균으로 대체
UPDATE orders o
SET    o.amount = (
  SELECT AVG(amount)
  FROM   orders
  WHERE  amount IS NOT NULL
)
WHERE  o.amount IS NULL;

 

5. 워크플로·자동화 베스트 프랙티스

 

  • ETL 오케스트레이션: Apache Airflow, Prefect → DAG로 의존성·스케줄 관리
  • 데이터 검증: Great Expectations, dbt tests → 파이프라인 안전망
  • 대용량 처리: PySpark, Dask → 메모리 한계를 분산 컴퓨팅으로 해결

 


 

전처리가 주는 이점과 마무리

 

  1. 모델 성능 극대화: 노이즈 제거·이상치 처리로 예측 정확도 향상
  2. 재현 가능성 보장: 코드화된 수집·정제 스크립트로 실험 반복 가능
  3. 비용 절감: 깨끗한 데이터는 스토리지·컴퓨팅 비용을 줄입니다

한 줄 정리
“깨끗한 데이터 없이는 그 어떤 AI도 빛을 발하지 않는다.”

이제, 위 가이드를 참고해 탄탄한 데이터 파이프라인을 구축해보세요. 🚀

반응형