Isolation Forest 하이퍼파라미터 개요

Python으로 배우는 이상치 탐지

Bekhruz (Bex) Tuychiev

Kaggle Master, Data Science Content Creator

가장 중요한 하이퍼파라미터

IForest에 가장 큰 영향을 주는 하이퍼파라미터:

  • contamination
  • n_estimators
  • max_samples
  • max_features
Python으로 배우는 이상치 탐지

contamination이란?

IForest가 데이터 포인트를 분류하는 방법:

  1. 원시 이상치 점수 생성
  2. contamination 임계값 설정
  3. contamination이 지정한 상위 비율의 점수를 이상치로 선택
Python으로 배우는 이상치 탐지

contamination 설정

from pyod.models.iforest import IForest


# 0~0.5 사이 값 허용 iforest = IForest(contamination=0.05)
Python으로 배우는 이상치 탐지

n_estimators란?

# 큰 데이터셋에는 더 많은 트리
iforest = IForest(n_estimators=1000)

iforest.fit(airbnb_df)
Python으로 배우는 이상치 탐지

max_samples와 max_features

iforest = IForest(n_estimators=200, max_samples=0.6, max_features=0.9)


iforest.fit(airbnb_df)
Python으로 배우는 이상치 탐지

트리 성장

  • iTree:
    • 무작위로 성장함
    • 분할은 특성의 최소~최대 사이에서 무작위 선택
    • 다음까지 성장:
      • 모든 포인트가 분리됨
      • 최대 깊이에 도달
Python으로 배우는 이상치 탐지

최대 트리 깊이

  • 샘플 크기의 로그와 같음
Python으로 배우는 이상치 탐지

IForest 장점

  • 대규모 데이터셋에 매우 효율적
  • 다른 알고리즘처럼 모든 정상 사례가 필요 없음
  • 통계적 가정 불필요
  • 기본 설정만으로도 성능 우수
Python으로 배우는 이상치 탐지

이상치 탐지의 과제

  • 지도학습 모델은 RMSE, 로그 손실 등의 지표에 의존
  • 이상치 탐지는 비지도 학습 문제
  • 이상치 분류기는 지도학습 모델과 함께 사용해야 함
Python으로 배우는 이상치 탐지

Ayo berlatih!

Python으로 배우는 이상치 탐지

Preparing Video For Download...