开始使用免费开始使用

DBSCAN

在本练习中,您将尝试使用一种基于密度的聚类方法(DBSCAN)来检测欺诈。DBSCAN 的优点是无需事先指定聚类数。另外,相比 K-means,DBSCAN 更擅长处理形状奇特(非凸)的数据。这一次,您不会像之前那样取聚类中的离群点来判定欺诈,而是从数据中选择最小的簇并将其标记为欺诈。已为您准备好经过缩放的数据集 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))
编辑并运行代码