본문 바로가기
두두 IT/머신런닝(ML)

머신러닝 전체 프로세스

by DoDo's 2026. 5. 15.
반응형

🧠 Machine Learning 전체 프로세스 (실무 완결판)

0️⃣ 비즈니스 문제 정의 (Problem Definition) - [추가됨]

코딩을 켜기 전에 "우리가 왜 이 인공지능을 만드는가?"를 정의하는 0순위 단계입니다.

  • 목표 설정: 매출 예측(회귀)인가, 불량품 탐지(분류)인가?
  • 성능 지표 합의: "정확도 90%면 서비스에 바로 적용할 수 있는가?" 기준 마련.

💡 [꼭 기억할 점]

  • 머신러닝은 마법이 아닙니다. 엑셀이나 간단한 수식으로 풀 수 있는 문제라면 굳이 복잡한 AI를 도입할 필요가 없습니다. "정말 AI가 필요한 문제인가?"를 먼저 질문해야 합니다.

1️⃣ 데이터 수집 및 탐색 (Data Collection & EDA)

  • 데이터 수집: SQL, 크롤링, 사내 DB.
  • EDA (탐색적 데이터 분석): Pandas와 시각화를 통해 데이터의 분포, 결측치, 이상치, 힌트 간의 관계(상관관계)를 파악합니다.

💡 [꼭 기억할 점]

  • Garbage In, Garbage Out (GIGO): 쓰레기를 넣으면 쓰레기가 나옵니다. 모델 튜닝에 10시간을 쓰는 것보다, EDA를 통해 좋은 데이터 1개를 더 찾아내는 것이 성능 향상에 100배 더 효과적입니다.

2️⃣ 데이터셋 분리 (Data Split)

  • Train(학습) / Validation(검증) / Test(최종 평가) 3분할.

💡 [꼭 기억할 점]

  • 데이터 누수(Data Leakage) 절대 주의: 도화지를 자르기 전에 전체 데이터로 평균을 내거나 스케일링을 하면, 미래(Test)의 정보가 과거(Train)에 유출됩니다. 반드시 가장 먼저 데이터를 쪼개야 합니다.

3️⃣ 데이터 전처리 및 특성 공학 (Preprocessing & Feature Engineering)

  • 결측치/이상치 처리 및 인코딩: 빈 값 채우기, 문자를 숫자로 변환.
  • 특성 공학: 기존 힌트를 조합해 새로운 강력한 힌트 창조.
  • 스케일링: 데이터의 체급 맞추기 (StandardScaler 등).
  • [추가] 데이터 불균형 처리 (Imbalanced Data): 사기 거래(0.1%)와 정상 거래(99.9%)처럼 비율이 붕괴된 데이터를 SMOTE 같은 기법으로 가짜 데이터를 만들어 비율을 맞춰줍니다.

💡 [꼭 기억할 점]

  • fit_transform vs transform: Train 데이터에는 fit_transform()(기준 세우고 변환)을, Validation과 Test 데이터에는 오직 transform()(세워진 기준에 맞추기만 함)만 써야 합니다!

4️⃣ ⚙️ 공장 자동화 및 최적화 (Pipeline & Tuning)

  • Pipeline: 전처리와 모델 학습을 한 줄의 컨베이어 벨트로 묶습니다.
  • Cross Validation (교차 검증): 데이터를 K등분 하여 돌아가며 깐깐하게 모의고사를 봅니다.
  • GridSearchCV: 컴퓨터가 모든 하이퍼파라미터 조합을 자동 탐색하여 1등을 찾습니다.

💡 [꼭 기억할 점]

  • 파이프라인은 선택이 아닌 필수: 특히 교차 검증(CV)을 할 때 파이프라인을 쓰지 않으면, 폴드(Fold)가 나뉠 때마다 미세하게 데이터 누수가 발생합니다. 실무 코드의 뼈대는 무조건 파이프라인입니다.

5️⃣ 학습 원리와 평가 방법 (Optimization & Metrics)

  • 경사하강법: 오차를 최소화하는 방향으로 가중치 업데이트.
  • 분류 평가지표: Accuracy, Precision, Recall, F1-Score, ROC-AUC.
  • 회귀 평가지표: MSE, RMSE, R² Score.

💡 [꼭 기억할 점]

  • 정확도(Accuracy)의 역설: 암 환자가 1%인 데이터에서 AI가 무조건 "100% 정상입니다"라고 찍어도 정확도는 99%가 나옵니다. 데이터 불균형이 있을 때는 절대 정확도를 믿지 말고 F1-Score나 ROC-AUC를 봐야 합니다.

6️⃣ 알고리즘 무기고 (Models)

  • 회귀: 선형 회귀, 다항 회귀, 규제 모델(Ridge, Lasso).
  • 분류: 로지스틱 회귀, SVM, KNN, 결정 트리.
  • 앙상블: 랜덤 포레스트(Bagging), XGBoost/LightGBM(Boosting).
  • 비지도학습: Clustering (K-Means), 차원 축소 (PCA).

💡 [꼭 기억할 점]

  • 트리 모델은 스케일링이 필요 없다: 결정 트리, 랜덤 포레스트 등 트리 기반 모델은 데이터를 '크기'가 아니라 '비율/조건'으로 나누기 때문에 스케일링(체급 맞추기)을 안 해도 됩니다. 반면 선형 회귀, 로지스틱 회귀, KNN, SVM은 거리를 계산하므로 스케일링이 필수입니다.

7️⃣ 모델 배포 및 모니터링 (Deployment & MLOps) - [추가됨]

  • 배포: 학습된 뇌(모델)를 Pickle로 저장하여 웹사이트(API)에 올립니다.
  • 모니터링 (Concept Drift): 시간이 지나면 사람들의 행동 패턴이 변하므로 AI의 성능이 점점 떨어집니다. 이를 감지하고 모델을 재학습시킵니다.

💡 [꼭 기억할 점]

  • AI는 살아있는 생물이다: 모델을 한 번 배포했다고 끝이 아닙니다. 코로나19가 터지면 이전의 마스크 수요 예측 AI는 완전히 바보가 됩니다. 세상이 변하면(Concept Drift), 데이터도 변하므로 주기적으로 최신 데이터로 다시 학습시켜야 합니다.
반응형