[카테고리:] 미분류

  • 현실 문제 해결


    전체 머신러닝/AI 프로젝트 의사 결정 트리단계별 + 선택지 구조로 총정리


    🧠 머신러닝 / 데이터 프로젝트 전체 흐름: 의사 결정 트리

    🎯 문제 인식
    │
    ├──▶ 예측이 필요한가?
    │     ├─▶ Yes → 지도학습 (Supervised Learning)
    │     └─▶ No  → 비지도학습 / 생성모델 / 군집화 등
    │
    ├──▶ 목적 정의
    │     ├─ 분류 (Classify)
    │     ├─ 회귀 (숫자 예측)
    │     ├─ 클러스터링 (패턴 그룹화)
    │     └─ 생성 (텍스트/이미지 생성 등)
    │
    └──▶ 사용 데이터 확보로 이동
    

    📥 데이터 수집 & 정제

    📥 데이터 확보
    │
    ├──▶ 어디서 수집?
    │     ├─ 내부 DB / CSV
    │     ├─ 공공 데이터
    │     └─ 웹 크롤링 / 센서 등
    │
    📊 데이터 전처리
    │
    ├──▶ 결측치 처리
    │     ├─ 제거 / 평균대체 / 예측
    ├──▶ 이상치 처리
    │     ├─ 제거 / 범위 조정
    ├──▶ 정규화 / 스케일링
    │     ├─ StandardScaler, MinMax 등
    ├──▶ 범주형 인코딩
    │     ├─ One-Hot, Label Encoding 등
    └──▶ 데이터 분할
          ├─ Train/Test Split or K-Fold CV
    

    🧠 모델 선택

    🔍 모델 선택
    │
    ├──▶ 데이터 유형과 문제 목표에 따라 분기
    │     ├─ 분류
    │     │   ├─ Logistic Regression
    │     │   ├─ Decision Tree / Random Forest
    │     │   ├─ SVM / KNN
    │     │   ├─ Neural Network (Dense/CNN/RNN 등)
    │     │   └─ LightGBM / XGBoost
    │     ├─ 회귀
    │     │   ├─ Linear Regression
    │     │   ├─ Ridge/Lasso
    │     │   ├─ Random Forest Regressor
    │     │   └─ Neural Network (Regressor)
    │     └─ 비지도
    │         ├─ K-Means / DBSCAN
    │         ├─ PCA / 차원 축소
    │         └─ GAN / AutoEncoder
    

    🔁 모델 학습 & 검증

    🧪 모델 학습
    │
    ├──▶ 검증 방식 결정
    │     ├─ 단순 Train/Test Split
    │     ├─ K-Fold Cross Validation
    │     ├─ Time Series Split (시계열)
    │     └─ Nested CV (튜닝 + 검증 분리)
    
    📈 모델 평가 지표 선택
    │
    ├──▶ 분류
    │     ├─ Accuracy, Precision, Recall, F1
    │     ├─ Confusion Matrix, ROC AUC
    ├──▶ 회귀
    │     ├─ MAE, MSE, RMSE, R²
    └──▶ 모델 개선 피드백
          ├─ 과소적합? → 모델 복잡도 ↑
          ├─ 과대적합? → 정규화/Dropout 등
          └─ 특징 부족? → Feature Engineering
    

    🏁 최종 모델 확정 및 배포

    ✅ 최종 선택된 모델
    │
    ├──▶ 학습 완료 후 저장
    │     ├─ joblib, pickle, ONNX 등
    │
    🚀 배포 / 활용
    │
    ├──▶ 웹 앱 / API로 연결 (Flask, FastAPI)
    ├──▶ Dashboard or 내장 시스템 적용
    └──▶ 사용자 피드백 or 실시간 성능 추적
    

    💡 Neural Network 사용 여부 분기

    • 작은 데이터 + 해석 용이성 중요 → 전통적 ML 모델
    • 이미지, 자연어, 시계열, 복잡한 추론 → 신경망 (Dense, CNN, RNN)
    • 대규모 생성(텍스트/이미지 등) → 딥러닝 or LLM, Diffusion, GAN 등

    📌 요약 다이어그램 느낌 (한 줄 요약식)

    [문제 정의]
     → [데이터 수집 & 정제]
     → [모델 선택] ⎧ 전통 ML or Neural Net
     → [학습 & 검증]
     → [성능 평가]
     → [배포 or 피드백]