आउटलायर डिटेक्शन के लिए KNN

Python में Anomaly Detection

Bekhruz (Bex) Tuychiev

Kaggle Master, Data Science Content Creator

KNN के उपयोग

  • Supervised:
    • Regression
    • Classification
  • Unsupervised:
    • Clustering
    • Outlier detection
Python में Anomaly Detection

KNN की सादगी

एनॉमली स्कोर निकाले जाते हैं
  • Isolation Forest:
    • Tree depth
    • Sub-sample size
    • कई अन्य घटक
  • KNN:
    • केवल इंस्टेंसेज़ के बीच की दूरी
Python में Anomaly Detection

Ansur Male डेटासेट

import pandas as pd

males = pd.read_csv("ansur_male.csv")
males.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 4082 entries, 0 to 4081
Data columns (total 95 columns):
 #   Column                          Non-Null Count  Dtype
 0   abdominalextensiondepthsitting  4082 non-null   int64
 1   acromialheight                  4082 non-null   int64
 2   acromionradialelength           4082 non-null   int64
 3   anklecircumference              4082 non-null   int64
 4   axillaheight                    4082 non-null   int64
  ...
Python में Anomaly Detection

KNN को लागू करना

from pyod.models.knn import KNN

knn = KNN(contamination=0.01, n_jobs=-1)

knn.fit(males)
Python में Anomaly Detection

आउटलायर प्रॉबैबिलिटी के साथ KNN

probs = knn.predict_proba(males)


# फ़िल्टरिंग के लिए 55% थ्रेशहोल्ड लें is_outlier = probs[:, 1] > 0.55 # आउटलायर अलग करें outliers = males[is_outlier] len(outliers)
13
Python में Anomaly Detection

नेबर्स की संख्या

# contamination <=10% होने पर k=20
knn = KNN(n_neighbors=20, n_jobs=-1)
knn.fit(males)

probs = knn.predict_proba(males)

is_outlier = probs[:, 1] > .55
outliers = males[is_outlier]

len(outliers)
15

8 इंस्टेंसेज़ वाला एक सैंपल डेटासेट प्लॉट, जहाँ A आउटलायर है और A से उसके 4 नज़दीकी नेबर्स तक तीर दिखे हैं.

Python में Anomaly Detection

KNN की विशेषताएँ

8 इंस्टेंसेज़ वाला एक सैंपल डेटासेट प्लॉट, जहाँ A आउटलायर है और A से उसके 4 नज़दीकी नेबर्स तक तीर दिखे हैं.

Python में Anomaly Detection

KNN की कमियाँ

  • डेटासेट को मेमोराइज़ करता है - मेमोरी-अप्रभावी
  • प्रेडिक्शन स्टेज धीमा
  • फीचर स्केल्स के प्रति संवेदनशील
Python में Anomaly Detection

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

Python में Anomaly Detection

Preparing Video For Download...