Огляд гіперпараметрів 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

Ріст дерев

  • iTrees:
    • ростуть у випадковий спосіб
    • розбиття обирається випадково між мінімумом і максимумом ознаки
    • ростуть, доки:
      • усі точки ізольовано
      • досягнуто максимальної глибини
Виявлення аномалій у Python

Максимальна глибина дерева

  • Дорівнює логарифму розміру вибірки
Виявлення аномалій у Python

Переваги IForest

  • Дуже ефективний на великих наборах даних
  • Не потребує всіх нормальних прикладів, як інші алгоритми
  • Без статистичних припущень
  • Добрі результати «з коробки»
Виявлення аномалій у Python

Складнощі виявлення викидів

  • Моделі з учителем покладаються на метрики на кшталт RMSE або log loss
  • Виявлення викидів — задача без учителя
  • Класифікатори викидів слід поєднувати з моделями з учителем
Виявлення аномалій у Python

Давайте потренуємось!

Виявлення аномалій у Python

Preparing Video For Download...