이번 주는 EDA의 후반부 — 통계 기초와 검증 설계를 다뤘다. 데이터를 정직하게 요약하고(통계), 변수 간 관계를 읽고(상관), 평가를 오염시키는 함정을 피하고(누수), 일반화 성능을 믿을 만하게 추정하는(검증) 네 가지다. 이 넷은 MLS-C01 Domain 2의 마지막 관문이자 "왜 내 모델이 프로덕션에서 실패하는가"의 답이 숨어 있는 곳이다.
[데이터] │ ├─ 1) 통계 기초 (Day1) │ 분포: 왜도·첨도부터 확인 (앤스컴의 4중주) │ 중심: 치우치면 중앙값, 대칭이면 평균 │ 산포: 표준편차/IQR, 강건함은 IQR │ 변환: 선형(표준화)=모양 불변, 로그/Box-Cox=왜도 완화 │ 표본 ↔ 모집단: CLT, 대표성·편향 의심 │ ├─ 2) 상관과 관계 (Day2) │ Pearson(선형) vs Spearman(단조·강건) │ 상관 ≠ 인과: 역인과, 교란변수, 우연 │ 다중공선성: VIF>5~10, 선형모델 계수 불안정 (트리는 둔감) │ 범주형: 카이제곱 / Cramér's V │ ├─ 3) 데이터 누수 (Day3) │ 타깃 누수: 결과 정보 유입 → 분할로 못 잡음, 시점 확인 │ 시계열 누수: 무작위 분할·미래 윈도 금지 │ train-test 오염: 분할 후 학습 부분만 fit, Pipeline으로 감싼다 │ └─ 4) 검증 설계 (Day4) 3분할: 테스트는 끝까지 봉인, 단 한 번만 k-fold: 데이터 절약, 평균 ± 표준편차 (k=5/10) 층화: 불균형 분류에 필수 시계열: TimeSeriesSplit (과거 → 미래) ▼[믿을 수 있는 검증 점수] ──▶ 모델 선택·튜닝 결정이 비로소 유효해진다
네 단계는 순서가 있는 파이프라인이 아니라 서로를 검증하는 관문이다. 분포를 잘못 읽으면 변환이 틀리고, 변환이 전체 데이터로 이뤄지면 누수가 되고, 누수가 있으면 검증 설계가 아무리 정교해도 점수는 거짓이다.
💡 개념: 이번 주 내용은 한 질문으로 수렴한다 — "내 검증 점수를 믿어도 되는가?" 통계(분포·표본)는 데이터가 모집단을 대표하는지를 보증하고, 상관 분석은 관계를 인과로 착각하지 않게 막고, 누수 점검은 미래·결과 정보가 스며드는 것을 막고, 검증 설계는 테스트셋이 진짜로 독립임을 보장한다. 이 넷 중 하나라도 무너지면 검증 점수는 일반화가 아니라 환상이다.
from sklearn.pipeline import Pipelinefrom sklearn.impute import SimpleImputerfrom sklearn.preprocessing import StandardScalerfrom sklearn.linear_model import LogisticRegressionfrom sklearn.model_selection import StratifiedKFold, cross_val_score# 누수 차단 + 불균형 대응을 한 번에: Pipeline + StratifiedKFoldpipe = Pipeline([ ("impute", SimpleImputer(strategy="median")), # 치우침 대비 중앙값 대치 ("scale", StandardScaler()), # fold의 학습 부분에서만 fit ("clf", LogisticRegression(class_weight="balanced")),])skf = StratifiedKFold(n_splits=5, shuffle=True, random_state=42)scores = cross_val_score(pipe, X, y, cv=skf, scoring="f1")print(f"F1: {scores.mean():.3f} ± {scores.std():.3f}")
⚠️ 함정 총정리: ① 표준화는 왜도를 없앤다(아니다, 모양 불변) ② 강한 상관은 인과다(아니다, 교란변수 의심) ③ 분할만 잘하면 누수가 사라진다(아니다, 타깃 누수는 빠져나간다) ④ 전체 데이터 스케일링 후 분할(아니다, 누수) ⑤ 시계열 무작위 분할(아니다, 시간 순) ⑥ 불균형 데이터 무작위 분할(아니다, 층화) ⑦ 테스트셋으로 튜닝(아니다, 봉인 후 한 번만).
이번 주를 한 문장으로: "정직한 검증 점수는 좋은 통계, 관계 이해, 누수 차단, 검증 설계 위에서만 성립한다."
다음 주에는 EDA를 넘어 모델링(Domain 3)으로 들어가, 지금까지 쌓은 통계·검증 토대 위에서 알고리즘 선택·학습·평가가 어떻게 돌아가는지 본다.