Prezentare generală a hiperparametrilor Isolation Forest

Detecția anomaliilor în Python

Bekhruz (Bex) Tuychiev

Kaggle Master, Data Science Content Creator

Cei mai importanți hiperparametri

Hiperparametrii cu cel mai mare impact asupra IForest:

  • contamination
  • n_estimators
  • max_samples
  • max_features
Detecția anomaliilor în Python

Ce este contamination?

Cum clasifică IForest punctele de date:

  1. Se generează scoruri brute de anomalie
  2. Se stabilește un prag numit contamination
  3. Cel mai ridicat procent de scoruri, indicat prin contamination, este selectat ca anomalie
Detecția anomaliilor în Python

Setarea contamination

from pyod.models.iforest import IForest


# Accepts a value between 0 and 0.5 iforest = IForest(contamination=0.05)
Detecția anomaliilor în Python

Ce este n_estimators?

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

iforest.fit(airbnb_df)
Detecția anomaliilor în Python

max_samples și max_features

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


iforest.fit(airbnb_df)
Detecția anomaliilor în Python

Creșterea arborilor

  • iTree-urile:
    • cresc aleatoriu
    • împărțirea este aleasă aleatoriu între min și max
    • cresc până când:
      • toate punctele sunt izolate
      • adâncimea maximă este atinsă
Detecția anomaliilor în Python

Adâncimea maximă a arborelui

  • Egală cu logaritmul dimensiunii eșantionului
Detecția anomaliilor în Python

Avantajele IForest

  • Foarte eficient pe seturi mari de date
  • Nu necesită toate instanțele normale
  • Fără ipoteze statistice
  • Performanță bună din start
Detecția anomaliilor în Python

Provocările detectării anomaliilor

  • Modelele supervizate utilizează metrici precum RMSE sau log loss
  • Detectarea anomaliilor este o problemă nesupervizată
  • Clasificatorii de anomalii trebuie combinați cu modele supervizate
Detecția anomaliilor în Python

Să exersăm!

Detecția anomaliilor în Python

Preparing Video For Download...