Yerel Aykırı Değer Faktörü (LOF)

Python ile Anomali Tespiti

Bekhruz (Bex) Tuychiev

Data Science Writer

Yerel Aykırı Değer Faktörü (LOF) nedir?

Özellikler

  • Yoğunluk temelli algoritma
  • 2000 yılında önerildi
  • Orta düzeyde yüksek boyutlu verilerle iyi çalışır
  • KNN ve Isolation Forest’tan daha hızlı olabilir
Python ile Anomali Tespiti

LOF nasıl çalışır?

  • Noktalar, yerel aykırı değer faktörü (LOF) adlı bir skorla sınıflanır
  • LOF, yerel yoğunluk kavramına dayanır
  • Yerellik, n_neighbors parametresiyle belirlenir
  • Daha düşük yoğunluklu noktalar aykırı olarak sınıflanır

LOF algoritmasının görselleştirilmesi

Python ile Anomali Tespiti

Yerelliğin önemi

  • Anahtar kelime: yerel
  • LOF skoru yalnızca yakın noktaların skorlarıyla karşılaştırılır
Python ile Anomali Tespiti

LOF görselleştirmesi

LOF algoritmasının görselleştirilmesi

Python ile Anomali Tespiti

LOF görselleştirmesi

LOF algoritmasının görselleştirilmesi

Python ile Anomali Tespiti

LOF görselleştirmesi

LOF algoritmasının görselleştirilmesi

Python ile Anomali Tespiti

Dönüştürülmüş veri seti

import pandas as pd

males_transformed = pd.read_csv("males_transformed.csv")

males_transformed.head()
   abdominalextensiondepthsitting  acromialheight  acromionradialelength  ...
0                        0.365531        0.427976               0.113152   
1                       -0.492137       -0.724973              -0.529301   
2                        0.857097       -0.146048               0.357496   
3                       -0.462610       -1.521525              -1.467860   
4                       -0.026349        2.151957               1.985876
Python ile Anomali Tespiti

LOF uygulamada

from pyod.models.lof import LOF


# Fit etme lof = LOF(n_neighbors=20, metric="manhattan") lof.fit(males_transformed) print(lof.labels_)
array([0, 0, 0, ..., 0, 0, 1])
Python ile Anomali Tespiti

LOF ile filtreleme

# Aykırı değerleri ayırın
probs = lof.predict_proba(males_transformed)

is_outlier = probs[:, 1] > 0.55
outliers = males_transformed[is_outlier]

len(outliers)
2
Python ile Anomali Tespiti

LOF ayrıntıları

  • En kritik parametre: n_neighbors
  • n_neigbors için kural:
    • < %10 kontaminasyon için 20 komşu
  • Birleştirme yok:
    • method her zaman largest
Python ile Anomali Tespiti

LOF’un dezavantajları

  • Yorumlaması zordur
  • LOF skoru şunları birleştirir:
    • noktalar arası mesafe
    • erişilebilirlik mesafesi
    • diğer birçok bileşen
  • Aykırı değerler için belirli bir LOF skor aralığı yoktur
Python ile Anomali Tespiti

Hadi pratik yapalım!

Python ile Anomali Tespiti

Preparing Video For Download...