반응형
왜 ‘데이터 수집과 전처리’가 중요한가?
“분석 시간의 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. 데이터 전처리 필수 기법
- 정제(Cleaning)
- 공백·대소문자 통일, 중복 제거, 타입 캐스팅
- 결측치 처리(Missing)
- 삭제(dropna()), 대치(fillna()), 모델 기반 예측
- 이상치 탐색(Outlier)
- IQR, Z‑score, Box‑plot 시각화
- 피처 엔지니어링
- 로그 변환, 원‑핫 인코딩, 스케일링
# 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 → 메모리 한계를 분산 컴퓨팅으로 해결
전처리가 주는 이점과 마무리
- 모델 성능 극대화: 노이즈 제거·이상치 처리로 예측 정확도 향상
- 재현 가능성 보장: 코드화된 수집·정제 스크립트로 실험 반복 가능
- 비용 절감: 깨끗한 데이터는 스토리지·컴퓨팅 비용을 줄입니다
한 줄 정리
“깨끗한 데이터 없이는 그 어떤 AI도 빛을 발하지 않는다.”
이제, 위 가이드를 참고해 탄탄한 데이터 파이프라인을 구축해보세요. 🚀
반응형
'테크 > Data Analysis' 카테고리의 다른 글
탐색적 데이터 분석(EDA) 한눈에 끝내기: 인사이트를 여는 첫 관문 (0) | 2025.04.22 |
---|---|
분석의 첫 단추, 문제 정의와 가설 설정 완전 정복 (0) | 2025.04.22 |
데이터 분석의 첫걸음, 명확하게 이해하고 시작하기 (0) | 2025.04.22 |
ADsP 3단원 데이터 분석 9장 연관 분석 정리 (0) | 2025.02.22 |
ADsP 3단원 데이터 분석 8장 군집 분석 정리 (0) | 2025.02.22 |