LoslegenKostenlos loslegen

DBSCAN

In dieser Übung probierst du eine dichtebasierte Cluster-Methode (DBSCAN) zur Betrugserkennung aus. Der Vorteil von DBSCAN ist, dass du die Anzahl der Cluster nicht vorab festlegen musst. Außerdem kann DBSCAN mit seltsam geformten Daten (also nicht-konvex) deutlich besser umgehen als K-means. Dieses Mal nimmst du nicht die Ausreißer innerhalb der Cluster als Betrugsfälle, sondern die kleinsten Cluster im Datensatz und markierst diese als Betrug. Der skalierte Datensatz, also X_scaled, ist wieder verfügbar. Probieren wir's aus!

Diese Übung ist Teil des Kurses

Betrugserkennung mit Python

Kurs anzeigen

Anleitung zur Übung

  • Importiere DBSCAN.
  • Initialisiere ein DBSCAN-Modell, setze den maximalen Abstand zwischen zwei Stichproben auf 0.9 und die minimale Anzahl an Beobachtungen in Clustern auf 10, und fitte das Modell auf die skalierten Daten.
  • Ermittle die vorhergesagten Labels; das sind die Cluster-Nummern, die einer Beobachtung zugewiesen werden.
  • Gib die Anzahl der Cluster und die übrigen Performance-Metriken aus.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# 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))
Code bearbeiten und ausführen