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

आउटलायर का पता लगाना

अगले अभ्यासों में, आप K-means एल्गोरिदम से धोखाधड़ी (fraud) की भविष्यवाणी करेंगे और उन भविष्यवाणियों की तुलना सहेजे गए वास्तविक लेबल्स से करेंगे, ताकि अपने नतीजों का सेंस-चेक किया जा सके.

धोखाधड़ी वाली ट्रांज़ैक्शंस आम तौर पर वे ऑब्ज़र्वेशंस होती हैं जो क्लस्टर सेंट्रॉइड से सबसे दूर होती हैं। आप इस अभ्यास में यह करना और कट-ऑफ कैसे तय करना सीखेंगे। अगले अभ्यास में, आप नतीजों की जाँच करेंगे.

आपके पास स्केल की गई ऑब्ज़र्वेशंस X_scaled उपलब्ध हैं, और वैरिएबल y में स्टोर किए गए लेबल्स भी.

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

Python में Fraud Detection

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

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

  • स्केल किए गए डेटा और लेबल्स y को train और test सेट में बाँटें.
  • 3 क्लस्टर्स वाला MiniBatch K-means मॉडल परिभाषित करें और उसे training डेटा पर fit करें.
  • अपने test डेटा से क्लस्टर प्रीडिक्शंस लें और क्लस्टर सेंट्रॉइड्स प्राप्त करें.
  • fraud और non-fraud के बीच की सीमा दूरी वितरण के 95% और उससे अधिक पर निर्धारित करें.

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

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

# Split the data into training and test set
X_train, X_test, y_train, y_test = ____(____, ____, test_size=0.3, random_state=0)

# Define K-means model 
kmeans = ____(n_clusters=____, random_state=42).fit(____)

# Obtain predictions and calculate distance from cluster centroid
X_test_clusters = ____.____(X_test)
X_test_clusters_centers = ____.____
dist = [np.linalg.norm(x-y) for x, y in zip(X_test, X_test_clusters_centers[X_test_clusters])]

# Create fraud predictions based on outliers on clusters 
km_y_pred = np.array(dist)
km_y_pred[dist >= np.percentile(dist, ____)] = 1
km_y_pred[dist < np.percentile(dist, ____)] = 0
कोड संपादित करें और चलाएँ