CommencerCommencer gratuitement

DBSCAN

Dans cet exercice, vous allez explorer l’utilisation d’une méthode de clustering basée sur la densité (DBSCAN) pour détecter la fraude. L’avantage de DBSCAN est que vous n’avez pas besoin de définir le nombre de clusters à l’avance. De plus, DBSCAN gère bien mieux que K-means les formes de données atypiques (c’est-à-dire non convexes). Cette fois, au lieu de considérer les valeurs aberrantes des clusters comme fraude, vous allez prendre les plus petits clusters dans les données et les étiqueter comme fraude. Vous avez de nouveau à disposition le jeu de données normalisé, c’est-à-dire X_scaled. Essayons !

Cet exercice fait partie du cours

Détection de fraude en Python

Afficher le cours

Instructions

  • Importez DBSCAN.
  • Initialisez un modèle DBSCAN en fixant la distance maximale entre deux échantillons à 0.9 et le nombre minimal d’observations par cluster à 10, puis ajustez le modèle sur les données normalisées.
  • Récupérez les étiquettes prédites, c’est-à-dire les numéros de cluster attribués à chaque observation.
  • Affichez le nombre de clusters et le reste des métriques de performance.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# 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))
Modifier et exécuter le code