लोकल आउटलायर फैक्टर

Python में Anomaly Detection

Bekhruz (Bex) Tuychiev

Data Science Writer

Local Outlier Factor (LOF) क्या है?

फीचर्स

  • डेंसिटी-आधारित एल्गोरिदम
  • 2000 में प्रस्तावित
  • मध्यम उच्च-आयामी डेटा पर अच्छा काम करता है
  • KNN और Isolation Forest से तेज हो सकता है
Python में Anomaly Detection

LOF कैसे काम करता है?

  • पॉइंट्स को local outlier factor (LOF) नामक स्कोर से वर्गीकृत किया जाता है
  • LOF का आधार लोकल डेंसिटी की अवधारणा है
  • लोकैलिटी n_neighbors पैरामीटर सेट करके चुनी जाती है
  • कम डेंसिटी वाले पॉइंट्स आउटलायर माने जाते हैं

LOF एल्गोरिदम का विज़ुअलीकरण

Python में Anomaly Detection

लोकैलिटी का महत्व

  • शब्द local यहाँ कुंजी है
  • LOF स्कोर की तुलना सिर्फ नज़दीकी पॉइंट्स के स्कोर से होती है
Python में Anomaly Detection

LOF विज़ुअलाइज़्ड

LOF एल्गोरिदम का विज़ुअलीकरण

Python में Anomaly Detection

LOF विज़ुअलाइज़्ड

LOF एल्गोरिदम का विज़ुअलीकरण

Python में Anomaly Detection

LOF विज़ुअलाइज़्ड

LOF एल्गोरिदम का विज़ुअलीकरण

Python में Anomaly Detection

ट्रांसफॉर्म किया गया डेटासेट

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 में Anomaly Detection

LOF इन एक्शन

from pyod.models.lof import LOF


# Fit lof = LOF(n_neighbors=20, metric="manhattan") lof.fit(males_transformed) print(lof.labels_)
array([0, 0, 0, ..., 0, 0, 1])
Python में Anomaly Detection

LOF में फ़िल्टरिंग

# Isolate the outliers
probs = lof.predict_proba(males_transformed)

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

len(outliers)
2
Python में Anomaly Detection

LOF विवरण

  • n_neighbors सबसे महत्वपूर्ण है
  • n_neigbors ट्यून करने का thumb rule:
    • <10% contamination के लिए 20 neighbors
  • एग्रीगेशन की अनुमति नहीं:
    • method हमेशा largest होता है
Python में Anomaly Detection

LOF की कमियाँ

  • समझना कठिन
  • LOF स्कोर में मिलते हैं:
    • पॉइंट्स के बीच दूरी
    • reachability distance
    • कई अन्य घटक
  • आउटलायर्स के लिए LOF स्कोर की कोई तय रेंज नहीं
Python में Anomaly Detection

अभ्यास करते हैं!

Python में Anomaly Detection

Preparing Video For Download...