Zacznij terazZacznij za darmo

DBSCAN

W tym ćwiczeniu sprawdzisz, jak działa grupowanie oparte na gęstości (DBSCAN) w wykrywaniu oszustw. Zaletą DBSCAN jest to, że nie musisz z góry określać liczby klastrów. Poza tym DBSCAN znacznie lepiej niż K-means radzi sobie z danymi o nieregularnych kształtach (czyli niewypu kłymi). Tym razem nie będziesz szukać wartości odstających w klastrach – zamiast tego weźmiesz najmniejsze klastry w danych i oznaczysz je jako oszustwa. Do dyspozycji masz ponownie przeskalowany zbiór danych, czyli X_scaled. Do dzieła!

To ćwiczenie jest częścią kursu

Wykrywanie oszustw w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Zaimportuj DBSCAN.
  • Zainicjalizuj model DBSCAN, ustawiając maksymalną odległość między dwoma próbkami na 0.9 oraz minimalną liczbę obserwacji w klastrze na 10, a następnie dopasuj model do przeskalowanych danych.
  • Pobierz przewidywane etykiety – są to numery klastrów przypisane do poszczególnych obserwacji.
  • Wydrukuj liczbę klastrów oraz pozostałe metryki wydajności.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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))
Edytuj i uruchom kod