Kom igångKom igång gratis

DBSCAN

I den här övningen ska du utforska en densitetsbaserad klustringsmetod (DBSCAN) för att upptäcka bedrägerier. Fördelen med DBSCAN är att du inte behöver ange antalet kluster i förväg. DBSCAN hanterar dessutom oregelbundet formade data (dvs. icke-konvexa) betydligt bättre än K-means. Den här gången ska du inte använda utliggare från klustren för att identifiera bedrägerier – i stället tar du de minsta klustren i datamängden och märker dem som bedrägerier. Du har återigen den skalade datamängden, X_scaled, tillgänglig. Nu kör vi!

Den här övningen är en del av kursen

Bedrägeridetektering i Python

Visa kurs

Övningsinstruktioner

  • Importera DBSCAN.
  • Initiera en DBSCAN-modell med det maximala avståndet mellan två sampel inställt på 0.9 och det minsta antalet observationer i klustren till 10, och anpassa sedan modellen till den skalade datamängden.
  • Hämta de förutsagda etiketterna – det är klusternumren som tilldelats varje observation.
  • Skriv ut antalet kluster och övriga prestandamått.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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))
Redigera och kör kod