머신러닝 실전 워크플로 (5) - 피처 파이프라인
전처리를 노트북 셀에 흩어두지 않고 sklearn Pipeline과 ColumnTransformer로 하나의 객체에 묶어 재현 가능하게 만들고, 학습에 쓴 변환을 서빙에서 그대로 다시 쓰는 학습-서빙 일관성을 정리한 5편입니다.
전처리를 노트북 셀에 흩어두지 않고 sklearn Pipeline과 ColumnTransformer로 하나의 객체에 묶어 재현 가능하게 만들고, 학습에 쓴 변환을 서빙에서 그대로 다시 쓰는 학습-서빙 일관성을 정리한 5편입니다.
탐색적 분석으로 데이터의 분포와 결측, 이상을 한 번 점검하는 것과, 그 점검을 pandera 같은 도구로 파이프라인에 넣어 새 데이터가 들어올 때마다 자동으로 검사하는 것의 차이를 정리한 4편입니다.
파일과 DB와 API에서 데이터를 받아 원본을 불변으로 보존하는 원칙, 수집 시점의 스키마 검증과 데이터 계약, 그리고 모델 재현에 코드와 데이터의 버전이 모두 필요한 이유와 DVC의 최소 사용법을 정리한 3편입니다.
노트북 코드를 재현 가능한 프로젝트로 옮기는 단계입니다. 폴더 구조, 가상환경과 잠금 파일, 설정 분리, 시드 고정으로 같은 코드와 데이터에서 같은 결과가 나오게 만드는 법을 정리합니다.
프로젝트의 성패는 모델을 만들기 전에 갈립니다. ML로 풀 문제인지 판단하고, 타깃과 그 예측으로 내릴 결정을 연결하고, 오프라인 지표와 비즈니스 지표를 구분해 잇고, 베이스라인과 데이터부터 확인하는 문제 정의 단계를 정리합니다.
노트북에서 모델 하나 만드는 것과 실제 ML 프로젝트를 굴리는 것은 다릅니다. 문제 정의부터 데이터, 실험 추적, 서빙, 모니터링까지 실전 흐름과 각 단계의 도구를 정리하는 시리즈의 0편입니다.
대다수와 다른 소수를 찾는 이상치 탐지를 통계적, 밀도 기반, 모델 기반 세 접근으로 정리하고 IsolationForest와 LOF로 확인합니다. 시리즈를 마무리하며 지도학습과 비지도학습을 한자리에 정리한 16편입니다.
특성이 많으면 왜 곤란한지, PCA가 분산을 최대한 보존하는 새 축을 어떻게 찾는지, explained_variance_ratio_로 각 축이 설명하는 분산 비율을 어떻게 읽는지를 breast_cancer 데이터의 2차원 투영으로 정리한 15편입니다.
레이블 없는 데이터에서 비슷한 표본을 묶는 군집화를 다룹니다. K-means의 원리와 k 선택(엘보우, 실루엣), 계층군집, 표준화의 필요성을 iris로 확인한 14편입니다.
검증 점수를 조용히 부풀리는 데이터 누수의 세 가지 유형과 올바른 fit/transform 순서에서 출발해, Pipeline과 ColumnTransformer로 전처리와 모델을 하나로 묶어 누수를 원천 차단하고 교차검증까지 안전하게 만드는 법을 정리한 시리즈 마지막 편입니다.