ПочатиПочніть безкоштовно

DBSCAN

У цій вправі ви дослідите використання методу кластеризації на основі густини (DBSCAN) для виявлення шахрайства. Перевага DBSCAN у тому, що не потрібно заздалегідь задавати кількість кластерів. Також DBSCAN набагато краще, ніж K-means, працює з дивно сформованими даними (тобто неконвексними). Цього разу ви не братимете викиди з кластерів як індикатор шахрайства, а визначите найменші кластери в даних і позначите їх як шахрайство. У вас знову є масштабований набір даних, тобто X_scaled. Спробуймо!

Ця вправа є частиною курсу

Виявлення шахрайства в Python

Переглянути курс

Інструкції до вправи

  • Імпортуйте DBSCAN.
  • Ініціалізуйте модель DBSCAN, задавши максимальну відстань між двома спостереженнями 0.9 і мінімальну кількість спостережень у кластері 10, та натренуйте модель на масштабованих даних.
  • Отримайте передбачені мітки — це номери кластерів, призначені спостереженню.
  • Виведіть кількість кластерів і решту показників ефективності.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

# 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))
Редагувати та запускати код