Tổng quan siêu tham số của Isolation Forest

Phát hiện bất thường với Python

Bekhruz (Bex) Tuychiev

Kaggle Master, Data Science Content Creator

Siêu tham số quan trọng nhất

Siêu tham số ảnh hưởng nhiều nhất đến IForest:

  • contamination
  • n_estimators
  • max_samples
  • max_features
Phát hiện bất thường với Python

`Contamination` là gì?

Cách IForest phân loại điểm dữ liệu:

  1. Tạo điểm bất thường thô
  2. Đặt ngưỡng gọi là contamination
  3. Phần trăm điểm cao nhất theo contamination được chọn là điểm ngoại lệ
Phát hiện bất thường với Python

Thiết lập contamination

from pyod.models.iforest import IForest


# Nhận giá trị từ 0 đến 0.5 iforest = IForest(contamination=0.05)
Phát hiện bất thường với Python

`n_estimators` là gì?

# Nhiều cây hơn cho tập dữ liệu lớn
iforest = IForest(n_estimators=1000)

iforest.fit(airbnb_df)
Phát hiện bất thường với Python

max_samples và max_features

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


iforest.fit(airbnb_df)
Phát hiện bất thường với Python

Tăng trưởng cây

  • iTrees:
    • phát triển ngẫu nhiên
    • chọn điểm tách ngẫu nhiên giữa min và max của đặc trưng
    • phát triển cho đến khi:
      • tất cả điểm được cô lập
      • đạt độ sâu tối đa
Phát hiện bất thường với Python

Độ sâu cây tối đa

  • Bằng logarit của kích thước mẫu
Phát hiện bất thường với Python

Ưu điểm của IForest

  • Rất hiệu quả trên dữ liệu lớn
  • Không cần tất cả mẫu bình thường như thuật toán khác
  • Không giả định thống kê
  • Hoạt động tốt mặc định
Phát hiện bất thường với Python

Thách thức của phát hiện ngoại lệ

  • Mô hình học có giám sát dựa vào các chỉ số như RMSE hoặc log loss
  • Phát hiện ngoại lệ là bài toán học không giám sát
  • Nên kết hợp bộ phân loại ngoại lệ với mô hình có giám sát
Phát hiện bất thường với Python

Ayo berlatih!

Phát hiện bất thường với Python

Preparing Video For Download...