데이터 테스트

프로덕션을 위한 Machine Learning 모델 개발

Sinan Ozdemir

Data Scientist, Entrepreneur, and Author

데이터 검증과 스키마 테스트

  • 데이터 검증 테스트는 결측, 불일치, 이상값을 확인합니다
    • 예: 이상치 탐지
  • 스키마 테스트는 기대 형식과 데이터 타입을 확인합니다

    • 예: "time to value"가 분이 아닌 초 단위의 정수인지 확인
  • Great Expectations 같은 도구로 자동화할 수 있습니다

great expectations 로고

프로덕션을 위한 Machine Learning 모델 개발

기본 테스트를 넘어

  • 데이터/스키마 테스트는 기본 이슈를 점검합니다
  • 더 복잡한 익스펙테이션 테스트는 고급 이슈를 점검합니다
    • 값이 특정 범위 내인지 확인
    • 알려진 패턴/추세 확인
프로덕션을 위한 Machine Learning 모델 개발

익스펙테이션 테스트

  • 데이터 검증 테스트의 한 종류
  • 사용자나 시스템이 정의한 "기대치"에 데이터가 부합하는지 확인
    • 예: 사이트 체류시간이 평균 4분, 표준편차 1분으로 기대
    • 예: 환자 과거 방문일이 현재 시점 이전이어야 함을 기대
프로덕션을 위한 Machine Learning 모델 개발

피처 중요도 테스트

  • 피처 중요도 테스트는 ML 모델에서 중요한 피처를 식별합니다
  • 예: Permutation importance
    • 피처 값을 무작위로 섞고, 성능 감소량을 측정

막대 차트

프로덕션을 위한 Machine Learning 모델 개발

Permutation importance 예시

설정:

import numpy as np
from sklearn.ensemble import RandomForestClassifier
from sklearn.inspection import permutation_importance
# Train a random forest classifier (assuming we have some data)
model = RandomForestClassifier().fit(X_train, y_train)

Permutation importance 실행:

# Calculate feature importances using permutation importance
results = permutation_importance(model, X_test, y_test, n_repeats=10, random_state=42)
# Print the feature importances
feature_names = ['feature_1', 'feature_2', 'feature_3', ...]
importances = results.importances_mean
for i in range(len(feature_names)):
    print(f'{feature_names[i]}: {importances[i]}')
프로덕션을 위한 Machine Learning 모델 개발

데이터 드리프트 살펴보기

데이터 드리프트

  • 피처 드리프트라고도 함
  • 모델 입력 데이터의 분포가 변함
  • 예: 새 제품을 가리키는 새 용어 사용이 늘어 챗봇이 이해하지 못함

레이블 드리프트

  • 레이블 분포의 변화
  • 예: 반품 요청에서 반품 상태 문의로 이동
프로덕션을 위한 Machine Learning 모델 개발

Ayo berlatih!

프로덕션을 위한 Machine Learning 모델 개발

Preparing Video For Download...