शुरू करेंमुफ़्त में शुरू करें

DBSCAN

इस अभ्यास में आप density based clustering मेथड (DBSCAN) का उपयोग करके फ्रॉड डिटेक्ट करना एक्सप्लोर करेंगे. DBSCAN का फायदा यह है कि आपको पहले से क्लस्टर्स की संख्या तय नहीं करनी पड़ती. साथ ही, DBSCAN अजीब आकार वाले डेटा (यानी non-convex) को K-means की तुलना में कहीं बेहतर तरीके से संभाल सकता है. इस बार, आप क्लस्टर्स के आउटलायर्स को फ्रॉड नहीं मानेंगे, बल्कि डेटा में मौजूद सबसे छोटे क्लस्टर्स को लेंगे और उन्हें फ्रॉड के रूप में लेबल करेंगे. आपके पास फिर से स्केल किया हुआ डेटासेट X_scaled उपलब्ध है. चलिए, इसे आज़माते हैं!

यह अभ्यास पाठ्यक्रम का हिस्सा है

Python में Fraud Detection

पाठ्यक्रम देखें

अभ्यास निर्देश

  • DBSCAN इम्पोर्ट करें.
  • एक DBSCAN मॉडल इनिशियलाइज़ करें: दो सैंपल्स के बीच अधिकतम दूरी 0.9 रखें और किसी क्लस्टर में न्यूनतम ऑब्ज़र्वेशन्स 10 रखें, फिर मॉडल को स्केल किए गए डेटा पर फिट करें.
  • प्रेडिक्टेड लेबल्स प्राप्त करें — ये प्रत्येक ऑब्ज़र्वेशन को सौंपे गए क्लस्टर नंबर होते हैं.
  • क्लस्टर्स की संख्या और बाकी परफॉर्मेंस मेट्रिक्स प्रिंट करें.

इंटरैक्टिव व्यावहारिक अभ्यास

इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।

# Import DBSCAN
from sklearn.cluster import ____

# Initialize and fit the DBSCAN model
db = DBSCAN(eps=____, min_samples=____, n_jobs=-1).fit(____)

# Obtain the predicted labels and calculate number of clusters
pred_labels = ____.____
n_clusters = len(set(pred_labels)) - (1 if -1 in labels else 0)

# Print performance metrics for DBSCAN
print('Estimated number of clusters: %d' % ____)
print("Homogeneity: %0.3f" % homogeneity_score(labels, pred_labels))
print("Silhouette Coefficient: %0.3f" % silhouette_score(X_scaled, pred_labels))
कोड संपादित करें और चलाएँ