Przegląd hiperparametrów Isolation Forest

Wykrywanie anomalii w Pythonie

Bekhruz (Bex) Tuychiev

Kaggle Master, Data Science Content Creator

Najważniejsze hiperparametry

Hiperparametry najbardziej wpływające na IForest:

  • contamination
  • n_estimators
  • max_samples
  • max_features
Wykrywanie anomalii w Pythonie

Czym jest contamination?

Sposób klasyfikowania punktów danych przez IForest:

  1. Generowane są surowe wyniki anomalii
  2. Ustawiany jest próg o nazwie contamination
  3. Najwyższy odsetek wyników anomalii określony przez contamination jest wybierany jako wartości odstające
Wykrywanie anomalii w Pythonie

Ustawianie contamination

from pyod.models.iforest import IForest


# Accepts a value between 0 and 0.5 iforest = IForest(contamination=0.05)
Wykrywanie anomalii w Pythonie

Czym jest n_estimators?

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

iforest.fit(airbnb_df)
Wykrywanie anomalii w Pythonie

max_samples i max_features

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


iforest.fit(airbnb_df)
Wykrywanie anomalii w Pythonie

Wzrost drzewa

  • iTrees:
    • rosną w sposób losowy
    • podział wybierany losowo między min i max cechy
    • rosną do momentu:
      • izolacji wszystkich punktów
      • osiągnięcia maksymalnej głębokości
Wykrywanie anomalii w Pythonie

Maksymalna głębokość drzewa

  • Równa się logarytmowi rozmiaru próbki
Wykrywanie anomalii w Pythonie

Zalety IForest

  • Bardzo wydajny na dużych zbiorach danych
  • Nie wymaga wszystkich normalnych instancji
  • Brak założeń statystycznych
  • Działa dobrze bez dodatkowej konfiguracji
Wykrywanie anomalii w Pythonie

Wyzwania wykrywania wartości odstających

  • Modele nadzorowane korzystają z metryk takich jak RMSE czy log loss
  • Wykrywanie wartości odstających to problem uczenia nienadzorowanego
  • Klasyfikatory wartości odstających należy łączyć z modelami nadzorowanymi
Wykrywanie anomalii w Pythonie

Czas na ćwiczenia!

Wykrywanie anomalii w Pythonie

Preparing Video For Download...