НачатьНачать бесплатно

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