Översikt av hyperparametrar i Isolation Forest

Avvikelsedetektering i Python

Bekhruz (Bex) Tuychiev

Kaggle Master, Data Science Content Creator

Viktigaste hyperparametrarna

Hyperparametrar som påverkar IForest mest:

  • contamination
  • n_estimators
  • max_samples
  • max_features
Avvikelsedetektering i Python

Vad är contamination?

Så klassificerar IForest datapunkter:

  1. Råa avvikelsepoäng genereras
  2. Ett tröskelvärde kallat contamination sätts
  3. Den andel av avvikelsepoängen som anges med contamination väljs ut som avvikande datapunkter
Avvikelsedetektering i Python

Ange contamination

from pyod.models.iforest import IForest


# Accepts a value between 0 and 0.5 iforest = IForest(contamination=0.05)
Avvikelsedetektering i Python

Vad är n_estimators?

# More trees for larger datasets
iforest = IForest(n_estimators=1000)

iforest.fit(airbnb_df)
Avvikelsedetektering i Python

max_samples och max_features

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


iforest.fit(airbnb_df)
Avvikelsedetektering i Python

Trädtillväxt

  • iTree:ar:
    • växer på ett slumpmässigt sätt
    • uppdelning väljs slumpmässigt mellan särdragets min- och maxvärde
    • växer tills:
      • alla punkter är isolerade
      • maximalt djup har nåtts
Avvikelsedetektering i Python

Maximalt träddjup

  • Är lika med logaritmen av urvalets storlek
Avvikelsedetektering i Python

Fördelar med IForest

  • Mycket effektiv på stora datamängder
  • Behöver inte alla normala instanser som andra algoritmer
  • Inga statistiska antaganden
  • Fungerar bra direkt utan konfiguration
Avvikelsedetektering i Python

Utmaningar med avvikelsedetektering

  • Övervakade inlärningsmodeller förlitar sig på mått som RMSE eller logförlust
  • Avvikelsedetektering är ett oövervakat inlärningsproblem
  • Avvikelseklassificerare bör kombineras med övervakade inlärningsmodeller
Avvikelsedetektering i Python

Nu kör vi en övning!

Avvikelsedetektering i Python

Preparing Video For Download...