Anomaly detection

Python में मशीन लर्निंग वर्कफ़्लो डिज़ाइन करना

Dr. Chris Anagnostopoulos

Honorary Associate Professor

Anomalies and outliers

Supervised

दो काले क्लस्टर, साथ में कुछ अलग-थलग लाल बिंदु।

Unsupervised

दो काले क्लस्टर, साथ में कुछ अलग-थलग काले बिंदु।

Python में मशीन लर्निंग वर्कफ़्लो डिज़ाइन करना

Anomalies and outliers

दो काले क्लस्टर, साथ में कुछ अलग-थलग काले बिंदु।

  • दो में से एक क्लास बहुत दुर्लभ है
  • डेटासेट शिफ्ट का चरम मामला
  • उदाहरण:
    • cybersecurity
    • fraud detection
    • anti-money laundering
    • fault detection
Python में मशीन लर्निंग वर्कफ़्लो डिज़ाइन करना

Unsupervised workflows

दो काले क्लस्टर, कुछ अलग-थलग काले बिंदु लाल घेरे में।

  • बिना लेबल एल्गोरिदम कैसे फिट करें?
  • प्रदर्शन का आँकलन कैसे करें?

थोड़े से लेबल का सावधानीपूर्वक उपयोग:

  • ट्रेनिंग के लिए बहुत कम, वरना overfitting होगा
  • मॉडल चयन के लिए बस पर्याप्त
  • निष्पक्ष accuracy अनुमान छोड़ दें

एक डेटासेट जिसे training, selection और validation में बाँटा गया है, जहाँ लेबल केवल selection पर उपलब्ध हैं।

Python में मशीन लर्निंग वर्कफ़्लो डिज़ाइन करना
  • Outlier: ऐसा datapoint जो अधिकांश डेटा की रेंज से बाहर हो

दो काले क्लस्टर, साथ में कुछ अलग-थलग काले बिंदु। सबसे दूर बिंदु लाल घेरे में।

  • Local outlier: ऐसा datapoint जो बिना अन्य डेटा के अलग-थलग region में हो

दो काले क्लस्टर, साथ में कुछ अलग-थलग काले बिंदु। दो क्लस्टर के बीच वाले अलग-थलग बिंदु लाल घेरे में।

Python में मशीन लर्निंग वर्कफ़्लो डिज़ाइन करना

Local outlier factor (LoF)

दो काले क्लस्टर, कुछ अलग-थलग काले बिंदु। दो क्लास के बीच एक बिंदु लाल घेरे में, और उसके nearest neighbor जो क्लस्टर के पास है, नीले घेरे में।

Python में मशीन लर्निंग वर्कफ़्लो डिज़ाइन करना

Local outlier factor (LoF)

from sklearn.neighbors import 
   LocalOutlierFactor as lof
clf = lof()
y_pred = clf.fit_predict(X)
y_pred[:4]
array([ 1,  1,  1, -1])
clf.negative_outlier_factor_[:4]
array([-0.99, -1.02, -1.08 , -0.97])
confusion_matrix(
   y_pred, ground_truth)
array([[  5,  16],
       [  0, 184]])

वही क्लस्टर और कुछ अलग-थलग बिंदु। क्लस्टरों के भीतर और अलग-थलग दोनों तरह के कई बिंदु लाल घेरे में।

Python में मशीन लर्निंग वर्कफ़्लो डिज़ाइन करना

Local outlier factor (LoF)

clf = lof(contamination=0.02)
y_pred = clf.fit_predict(X)
confusion_matrix(
   y_pred, ground_truth)
array([[  5,   0],
       [  0, 200]])

वही क्लस्टर और कुछ अलग-थलग बिंदु। केवल अलग-थलग बिंदु लाल घेरे में।

Python में मशीन लर्निंग वर्कफ़्लो डिज़ाइन करना

Who needs labels anyway!

Python में मशीन लर्निंग वर्कफ़्लो डिज़ाइन करना

Preparing Video For Download...