Machine Learning With Python 简明教程
Clustering Algorithms - Overview
Introduction to Clustering
聚类方法是最有用的无监督 ML 方法之一。这些方法用于查找数据样本之间的相似性以及关系模式,然后将这些样本聚类到基于特征相似性的组中。
聚类很重要,因为它确定了当前未标记数据之间的内在分组。它们在基本上对数据点做出了一些关于其相似性的假设。每一项假设都会构建不同但同样有效的聚类。
例如,以下是显示聚类系统将不同聚类中相似类型的数据分组在一起的图表:
Cluster Formation Methods
聚类不必以球形形式形成。以下是一些其他聚类形成方法:
Density-based
在这些方法中,聚类被形成为稠密区域。这些方法的优点在于,它们既具有良好的准确性,又有合并两个聚类的良好能力。例如,带噪声的基于密度的空间聚类应用 (DBSCAN),用于识别聚类结构的排序点 (OPTICS) 等。
Measuring Clustering Performance
有关 ML 模型最重要的考虑因素之一是评估其性能或可以称之为模型的质量。在监督学习算法的情况下,对模型质量的评估很简单,因为我们已经为每个示例都贴上了标签。
另一方面,在无监督学习算法的情况下,由于我们处理的是未标记数据,因此我们没有那么幸运。但我们仍然有一些指标可以让从业者深入了解群集的变化,具体取决于算法。
在我们深入了解这些指标之前,我们必须了解这些指标只是评估模型之间的比较性能,而不是衡量模型预测的有效性。以下是我们可以在聚类算法中部署的一些指标来衡量模型质量 -
Silhouette Analysis
轮廓分析用于检查聚类模型的质量,方法是测量聚类之间的距离。它基本上为我们提供了一种方法来评估聚类数量等参数,这得益于 Silhouette score 。此分数衡量一个聚类中的每个点与相邻聚类中的点的距离。
Analysis of Silhouette Score
轮廓分数的范围为 [-1, 1]。它的分析如下 -
-
+1 Score − 在 +1 Silhouette score 附近指示样本远离其相邻聚类。
-
0 Score − 0 Silhouette score 表示样本位于或非常靠近分隔两个相邻聚类的决策边界。
-
-1 Score &minusl -1 Silhouette score 表示已将样本分配到错误的聚类。
轮廓分数的计算可以使用以下公式进行 −
silhouette 分数=(p-q)/max (p,q)
此处,p = 到最近聚类中点的平均距离
并且,q = 到所有点的平均聚类内距离。
Applications of Clustering
我们可以在以下领域发现聚类很有用 −
Data summarization and compression − 聚类被广泛用于我们要求数据汇总、压缩和减少的领域。例如图像处理和矢量量化。
Collaborative systems and customer segmentation − 由于聚类可以用于查找类似产品或同类用户,因此它可以用于协作系统和客户细分领域。
Serve as a key intermediate step for other data mining tasks − 聚类分析可以生成用于分类、测试、假设生成的数据的紧凑摘要;因此,它也作为其他数据挖掘任务的关键中间步骤。
Trend detection in dynamic data − 通过创建具有类似趋势的不同聚类,聚类还可以用于动态数据中的趋势检测。
Social network analysis − 聚类可以用于社交网络分析。例如,在图像、视频或音频中生成序列。
Biological data analysis − 聚类还可以用于生成图像和视频聚类,因此可以成功地用于生物数据分析。