EmpezarEmpieza gratis

DBSCAN

En este ejercicio vas a explorar un método de clustering basado en densidad (DBSCAN) para detectar fraude. La ventaja de DBSCAN es que no necesitas definir el número de clústeres de antemano. Además, DBSCAN maneja mucho mejor que K-means los datos con formas extrañas (es decir, no convexas). Esta vez no vas a tomar los valores atípicos de los clústeres para determinar fraude, sino que vas a tomar los clústeres más pequeños del conjunto de datos y etiquetarlos como fraude. De nuevo tienes disponible el conjunto de datos escalado, X_scaled. ¡Vamos a probarlo!

Este ejercicio forma parte del curso

Fraud Detection in Python

Ver curso

Instrucciones del ejercicio

  • Importa DBSCAN.
  • Inicializa un modelo DBSCAN estableciendo la distancia máxima entre dos muestras en 0.9 y el mínimo de observaciones por clúster en 10, y ajusta el modelo a los datos escalados.
  • Obtén las etiquetas predichas; son los números de clúster asignados a cada observación.
  • Imprime el número de clústeres y el resto de las métricas de rendimiento.

ejercicio interactivo práctico

Prueba este ejercicio completando este código de ejemplo.

# 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))
Editar y ejecutar código