- 使用 Python 进行机器学习
- 家
- 基本
- Python生态系统
- 机器学习方法
- ML 项目的数据加载
- 通过统计了解数据
- 通过可视化了解数据
- 准备数据
- 数据特征选择
- 机器学习算法 - 分类
- 介绍
- 逻辑回归
- 支持向量机(SVM)
- 决策树
- 朴素贝叶斯
- 随机森林
- 机器学习算法 - 回归
- 随机森林
- 线性回归
- 机器学习算法 - 聚类
- 概述
- K均值算法
- 均值平移算法
- 层次聚类
- ML 算法 - KNN 算法
- 寻找最近的邻居
- 性能指标
- 自动工作流程
- 提高机器学习模型的性能
- 提高 ML 模型的性能(续……)
- 使用 Python 进行机器学习 - 资源
- 使用 Python 进行机器学习 - 快速指南
- 使用 Python 进行机器学习 - 资源
- 使用 Python 进行机器学习 - 讨论
聚类算法 - 概述
聚类简介
聚类方法是最有用的无监督机器学习方法之一。这些方法用于查找数据样本之间的相似性以及关系模式,然后根据特征将这些样本聚类成具有相似性的组。
聚类很重要,因为它决定了当前未标记数据之间的内在分组。他们基本上对数据点做出一些假设来构成它们的相似性。每个假设都会构建不同但同样有效的集群。
例如,下图显示了聚类系统将不同聚类中的相似类型的数据分组在一起 -
簇形成方法
团簇不一定形成球形。以下是一些其他簇形成方法 -
基于密度
在这些方法中,簇形成为密集区域。这些方法的优点是它们具有良好的准确性以及良好的合并两个簇的能力。前任。基于密度的噪声应用空间聚类 (DBSCAN)、用于识别聚类结构的排序点 (OPTICS) 等。
基于层次结构
在这些方法中,簇被形成为基于层次结构的树型结构。它们有两类,即聚合(自下而上的方法)和分裂(自上而下的方法)。前任。使用代表的聚类(CURE)、使用层次结构的平衡迭代减少聚类(BIRCH)等。
分区
在这些方法中,通过将对象分成 k 个簇来形成簇。簇的数量将等于分区的数量。前任。K-means,基于随机搜索的大型应用程序集群 (CLARANS)。
网格
在这些方法中,簇形成为网格状结构。这些方法的优点是在这些网格上完成的所有聚类操作都是快速的并且与数据对象的数量无关。前任。统计信息网格 (STING)、Quest 中的聚类 (CLIQUE)。
测量集群性能
关于 ML 模型最重要的考虑因素之一是评估其性能,或者可以说模型的质量。对于监督学习算法,评估模型的质量很容易,因为我们已经为每个示例都有了标签。
另一方面,在无监督学习算法的情况下,我们并没有那么幸运,因为我们处理的是未标记的数据。但我们仍然有一些指标可以让从业者根据算法深入了解集群中发生的变化。
在深入研究这些指标之前,我们必须了解这些指标仅评估模型之间的比较性能,而不是衡量模型预测的有效性。以下是我们可以在聚类算法上部署来衡量模型质量的一些指标 -
轮廓分析
轮廓分析用于通过测量簇之间的距离来检查聚类模型的质量。它基本上为我们提供了一种借助Silhouette 分数来评估参数(例如聚类数量)的方法。该分数衡量一个簇中的每个点与相邻簇中的点的接近程度。
轮廓得分分析
Silhouette 分数的范围是 [-1, 1]。其分析如下:
+1 分数- 接近 +1轮廓分数表示样本远离其相邻簇。
0 分数− 0轮廓分数表示样本位于或非常接近分隔两个相邻簇的决策边界。
-1 分数&minusl -1 Silhouette 分数表示样本已分配到错误的簇。
Silhouette 分数的计算可以使用以下公式来完成 -