[Coursera/IBM course #1] Evaluating and Validating Machine Learning Models

2025. 5. 10. 00:53·🥇 certification logbook
728x90
반응형

[IBM AI course #1] Machine Learning with Python

 

Supervised Learning Evaluation

Classification Evaluation

모델이 새로운 데이터를 얼마나 잘 예측하는지 평가

방법

train-test-split

주요 분류 성능 지표

  • accuracy(정확도)
  • confusion matrix
  • precision(정밀도),
  • recall(재현율)
  • F1 score (precision과 recall의 조화 평균)

→ Accuracy만 높아도 실제 중요한 경우를 놓칠 수 있어서, 예를 들어 암 진단에서는 정밀도(진단이 맞는지)와 재현율(실제 암 환자를 놓치지 않는지)도 함께 평가해야 한다.

→ 사용자에게 영화를 추천했는데, 사실 그 사람이 별로 좋아하지 않는 영화였다면? 이런 경우, 잘못된 추천(=False Positive) 때문에 마케팅 비용만 쓰고 아무 효과도 보지 못하게 된다. 이럴 땐 정말 좋아할 가능성이 높은 영화만 추천하는 게 중요하므로, "Precision(정밀도)"를 보는 것이 중요하다.

→ 환자는 실제로 병이 있는데, 모델이 '병이 없다'고 예측했다면? 이런 실수는 진짜 아픈 사람을 놓치는 것이라 매우 위험하기 때문에, 초기 발견이 중요한 병일수록 False Negative를 최소화해야 한다. 즉, "Recall(재현율)"을 보는 것이 중요하다.

 

Regression Evaluation

모델이 연속적인 수치 값을 얼마나 정확히 예측하는지 평가

오차

데이터 포인트와 알고리즘이 생성한 추세선 간 차이

주요 회귀 성능 지표

  • MAE(mean absolute error)
  • MSE(mean squared error)
  • RMSE(root mean squared error)
  • R²(R squared, 결정계수)

→ 인기 있는 평가지표 R²
R²는 모델이 종속 변수의 총 변동성 중에서 n%를 설명한다. 선형 모델일 때 특히 신뢰도 높음, 비선형/복잡한 모델에서는 오해의 소지 존재(여러 지표와 함께 사용하면서 보완해야 함)

추가 지표

explained variance (예측값과 실제 평균값 간 제곱 차 합)

 

Unsupervised Learning Evaluation

레이블이 없는 데이터를 기반으로 패턴의 품질과 일관성을 평가

 

Clustering Evaluation

라벨 없이 그룹을 나누는 클러스터링 결과의 품질을 평가

데이터가 어떻게 유사한 그룹으로 잘 묶였는지, 그 일관성과 안정성을 판단

내부 지표

라벨 없이 입력 데이터만으로 평가

  • Silhouette score : 자신의 클러스터 내 응집도(cohesion) vs 가장 가까운 다른 클러스터와의 분리도(separation)
    → 높을수록 좋음
  • Davies-Bouldin index : 각 클러스터의 내부 산포도(compactness)와 가장 유사한 다른 클러스터와의 중심 간 거리(separation)의 비율 평균
    → 낮을수록 좋음
  • Inertia(in K-Means) : 클러스터 내 거리 제곱합
    → 낮을수록 응집도 높음, 클러스터 수 늘리면 무조건 줄어드는 단점 존재

외부 지표

정답 라벨(ground truth)이 있을 때 비교 평가

  • adjusted Rand index(ARI) : 클러스터링 결과와 실제 라벨의 유사도
  • normalized mutual information(NMI) : 예측 클러스터와 실제 라벨 간 정보 공유량
  • Fowlkes-Mallows index(FMI) : 클러스터링 결과의 precision-recall 조화 평균

안정성 / 일반화 평가 (Stability Evaluation)

데이터 일부를 바꾸거나 섞었을 때 클러스터링이 얼마나 일관되는지 평가

 

Dimensionality Reduction Evaluation

고차원 데이터를 저차원으로 줄였을 때, 중요한 정보가 얼마나 보존되었는지 평가

차원 축소 평가 지표

  • explained variance ratio (in PCA) : 각 주성분(PC)이 원래 데이터의 분산을 얼마나 설명하는지. 누적 설명력으로 몇 개의 차원까지 유지할지 결정
  • reconstruction error : 줄인 차원에서 원래 데이터를 복원할 때 생기는 오차로 낮을수록 정보 보존이 잘 된 것
  • neighborhood preservation : t-SNE, UMAP 등에서 고차원 공간에서 가까웠던 점들이 저 차원에서도 여전히 가까운지를 평가

 

Model Validation

모델 검증은 모델이 보지 못한 데이터에 일반화할 수 있는지 확인하고, 과적합(overfitting)을 방지하고 최적의 하이퍼파라미터를 찾기 위한 과정

데이터 구분

training set, validation set, test set

주의사항

Data Snooping* 금지.

*Data Snooping: 테스트 데이터로 하이퍼파라미터 튜닝하는 행위. 모델이 테스트셋에 과적합되며, 실제 성능보다 좋게 보이게 됨.

 

Cross-Validation

K-Fold Cross-Validation

데이터셋을 K개의 폴드로 나누어 반복 학습. 모든 데이터가 학습과 검증에 한 번씩 사용됨

Stratified Cross-Validation

각 폴드 내 클래스 비율을 유지하여 편향 방지. 회귀 문제에서는 타깃의 왜도(skewness)를 줄이기 위해 로그 또는 Box-Cox 변환 활용 가능

 

Regularization

회귀 모델이 노이즈에 과도하게 적합되는 현상, 즉 과적합을 방지하는 기법으로, 모델 학습 시 계수(coefficient)가 과도하게 커지는 것을 막아, 일반화 성능이 향상됨

 

방법

비용 함수(cost function)에 패널티(penalty term)를 추가하여 모델 복잡도를 제어한다.

  • Lasso: L1 (계수의 절댓값 합 페널티)
    일부 계수를 0으로 수축(특성 선택(feature selection) 유리). 희소 모델에 적합
  • Ridge: L2 (계수의 제곱합 페널티)
    계수들을 작게 만듦(0에는 거의 도달하지 않음). 다중공선성* 해결에 효과적

* 다중공선성문제 : 통계학의 회귀분석에서 독립변수들 간에 강한 상관관계가 나타나는 문제

 

Data Leakage & Modeling Pitfalls

Data leakage

모델이 훈련 중 실제 예측 시 사용 불가능한 정보에 접근 → 모델이 부정확한 예측을 하게 만듦

예시

  • 전체 데이터의 평균값/통계치를 사용하여 파생변수 생성
  • 미래 시점의 정보(예: 내일 주가)를 사용해 오늘의 예측을 수행

 

방지 방법

  • 훈련/검증/테스트셋 간 완전 분리 및 오염 방지
  • 실제 배포 시 사용 가능한 feature만 사용
  • 교차 검증 및 하이퍼파라미터 튜닝 시 신중히 수행
  • 시계열 데이터는 TimeSeriesSplit 사용 (훈련 데이터가 항상 검증 데이터보다 과거에 위치하도록)
  • 미래 정보 포함한 변수 생성 금지 (예: 전체 평균, 전체 상관계수 등 사용 X)

 

Modeling Pitfalls

Feature importance 평가 관련 주의사항

중복/상관된 feature 사용, 스케일 민감성, 인과 관계 오해(상관관계 ≠ 인과관계), feature 상호작용 무시 (단일 변수는 별로 중요하지 않아도, 조합(feature interaction)은 중요할 수도 있음)

 

기타 모델링 실수

부적절한 feature 선택, 평가 지표 오해, 클래스 불균형 무시, AutoML 맹신(AutoML은 도구일 뿐이지 해결책 그 자체는 아님. 모델 설명력, 특성 중요도, 예측 근거는 사람이 직접 검토해야), 인과성이 없는 데이터 기반의 가상 시나리오 수행

728x90
반응형

'🥇 certification logbook' 카테고리의 다른 글

[Coursera/IBM course #2] Backpropagation & Vanishing Gradient & Activation Functions  (0) 2025.05.11
[Coursera/IBM course #2] Gradient Descent  (0) 2025.05.11
[Coursera/IBM course #2] Neurons and Neural Networks & Artificial Neural Networks  (0) 2025.05.10
[Coursera/IBM] Introduction to Deep Learning & Neural Networks with Keras 코스 소개  (1) 2025.05.10
[Coursera/IBM course #1] Unsupervised Learning Models  (0) 2025.05.05
[Coursera/IBM course #1] Supervised Learning Models  (2) 2025.05.04
[Coursera/IBM course #1] Linear Regression & Logistic Regression  (0) 2025.05.04
[Coursera/IBM course #1] Scikit-Learn Machine Learning Ecosystem  (0) 2025.05.03
'🥇 certification logbook' 카테고리의 다른 글
  • [Coursera/IBM course #2] Neurons and Neural Networks & Artificial Neural Networks
  • [Coursera/IBM] Introduction to Deep Learning & Neural Networks with Keras 코스 소개
  • [Coursera/IBM course #1] Unsupervised Learning Models
  • [Coursera/IBM course #1] Supervised Learning Models
이소야
이소야
✔ 공부 기록 ٩(๑•̀o•́๑)و
  • 이소야
    I study SO
    이소야
    ✔ 공부 기록 ٩(๑•̀o•́๑)و
  • 전체
    오늘
    어제
    • 분류 전체보기 (223)
      • 🤖 ai logbook (39)
      • 💻 developers logbook (1)
      • 🥇 certification logbook (73)
      • ⚖️ legal logbook (108)
      • ⚡ electronics logbook (1)
      • 🌍 english logbook (0)
      • 🎁 etc (1)
  • 최근 글

  • 인기 글

  • 태그

    인공지능 입문
    datascience
    방통대
    ADsP
    IBM
    기본권의기초이론
    민법
    온라인 강의 추천
    자격증
    deeplearning
    법학과
    Python
    근로기준법
    데이터분석준전문가
    Coursera
    데이터사이언스 입문
    인공지능
    형법
    certificate
    머신러닝
  • hELLO· Designed By정상우.v4.10.3
이소야
[Coursera/IBM course #1] Evaluating and Validating Machine Learning Models
상단으로

티스토리툴바