机器学习(ML)。 聚类 BIRCH,高斯混合
聚类是一种机器学习技术,用于将相似或同质的实例分组到不同的数据集群中。该方法用于无监督机器学习任务。
您可以下载聚类算法的示例结构化表文件:
XLSX
。
表文件中的结构化数据可用于导入:Excel 工作簿 (*.xlsx); Excel 二进制工作簿 (*.xlsb); OpenDocument 电子表格 (*.ods)。
可以应用在哪里
示例1. 营销部门收集的有关客户购买的数据使我们能够了解客户之间是否存在相似之处。这些相似之处将客户分为不同的组(集群),并且拥有客户组有助于定位活动、促销、转化和建立更好的客户关系。
实施例2.根据混合物中各组分的定性指标,基于混合物中每种组分的定量或定性指标来识别最同质的组。
例3 根据不同工艺生产模式的成品定性或定量指标识别最同质群体。
示例 4. 识别不能附加到任何簇的非典型对象。
BIRCH 聚类
聚类 BIRCH (使用层次结构的平衡迭代减少和聚类) - 使用层次结构的平衡迭代减少和聚类。
BIRCH算法的聚类分析需要具有度量属性的数据。度量属性是其值可以用欧几里得空间中的显式坐标表示的属性(没有分类变量)。
图 1. 机器学习 (ML) 功能窗口。当您将鼠标悬停在用于转至使用 BIRCH 和高斯混合算法的聚类函数的按钮上时,会显示工具提示。
图 2. 机器学习 (ML) 功能窗口。当您将鼠标悬停在用于转至使用 BIRCH 算法的聚类功能的按钮上时,会显示工具提示。
图 3. 机器学习 (ML) 函数窗口 - 使用 BIRCH 算法进行聚类。选择点的度量属性的度量,设置[阈值]和[簇数]值,取消选中[质心和点之间的线]和[保存结果]复选框。黑色十字表示具有簇编号的质心(簇的重心)。
图 4. 机器学习 (ML) 函数窗口 - 使用 BIRCH 算法进行聚类。将显示沿 [Y] 轴反映的度量下拉列表。
图 5. 机器学习 (ML) 函数窗口 - 使用 BIRCH 算法进行聚类。将显示沿 [X] 轴反映的度量下拉列表。
图 6. 机器学习 (ML) 函数窗口 - 使用 BIRCH 算法进行聚类。选中[质心和点之间的线]和[保存结果]复选框。
图 7. 机器学习 (ML) 函数窗口 - 使用 BIRCH 算法进行聚类。将出现一条消息,说明将分配的簇代码保存到“BIRCH”工作表上源文件中的数据对(X 和 Y)。分配的聚类的列名称保留聚类方法的名称、自动检测聚类或用户定义的名称、用户选择的度量和指标对的名称[阈值]和[聚类数]。
图 8. 机器学习 (ML) 函数窗口 - 使用 BIRCH 算法进行聚类。将鼠标悬停在按钮上时会出现提示,进入在图形上绘制垂直线和水平线的功能。
图 9. 机器学习 (ML) 函数窗口 - 使用 BIRCH 算法进行聚类。用于在图形上绘制垂直线和水平线的辅助功能窗口。引入了两条带有名称的垂直线和一根水平线。您可以显示任意数量的带标签的行(名称-值)。您可以更改列表中选定的任何行的值。您可以删除下拉列表中选定的任何行或一次删除所有行。
使用BIRCH聚类方法建立的数学模型质量可能不足的原因
- 次优超参数调整:BIRCH 聚类有需要调整的超参数,例如阈值和聚类半径。错误选择超参数可能会导致模型质量不佳。
- 数据不准确和不一致:如果数据包含可能破坏聚类边界和结构的噪声或异常值,则 BIRCH 聚类的质量可能很差。
- 未指定或错误选择的相似性标准:BIRCH 聚类的质量可能取决于相似性标准的选择或设置。相似性标准选择不正确可能会导致聚类不够准确。
- 不正确的数据缩放:如果数据具有不同的值范围或不同的测量单位,则不正确的缩放可能会导致 BIRCH 聚类质量较差。
- 数据不足:如果没有足够的数据来训练模型,BIRCH 聚类的质量可能会不足。更多的数据可以提高聚类的质量。
高斯混合聚类
高斯混合模型是一种概率模型,假设所有数据点都是由有限数量的参数未知的高斯分布的混合生成的。这种机器学习算法可以为每个样本分配它最可能属于的高斯图。在我们的分析中,高斯混合引入了一种约束估计差异类的协方差的变体:完全协方差。
期望最大化模型(高斯混合)必须使用用户指定的分量数量,而变分推理模型(贝叶斯高斯混合)将有效地仅使用良好拟合所需的分量。如果用户指定的分量数量小于有效数量,则贝叶斯高斯混合图将显示用户指定的分量数量。
高斯混合算法的聚类在对应于贝叶斯高斯混合和高斯混合算法的两个图中进行了演示。
为了更清楚起见,高斯混合模型的椭球体显示在图表上。
图 10.机器学习 (ML) 函数窗口。当您将鼠标悬停在用于转至使用高斯混合算法的聚类函数的按钮上时,会显示工具提示。
图 11. 贝叶斯高斯混合和高斯混合算法的聚类函数窗口。组件数量参数设置为 (3)。
图 12. 贝叶斯高斯混合和高斯混合算法的聚类函数窗口。组件数量参数设置为 (5)。
图 13. 贝叶斯高斯混合和高斯混合算法的聚类函数窗口。组件数量参数设置为 (10)。
下图中的示例演示了 BIRCH 和高斯混合聚类算法在“有趣”数据集上的性能。
图 14. BIRCH 和高斯混合聚类算法在“有趣”数据集上的性能对比演示。最后一个数据集(右列)是聚类“空”情况的示例:数据是同质的并且不能很好地聚类。
预自动数据准备
在应用聚类之前,导入的数据会使用标准化自动缩放。
标准化是对数据进行缩放的过程,使其平均值为 0,标准差为 1。
如果导入的数据包含分类列,例如[男,女],系统会提示用户自动对该列进行“热编码”,将数据转换为新的数字代码列[0, 1]。热编码数据将保存在新工作表中的原始 [xlsx] 文件中。
One-hot 编码用于将分类变量转换为机器学习算法可以轻松使用的格式。 one-hot 编码的基本思想是创建新变量,用值[0]和[1]来表示原始分类值。换句话说,非数字列中的每个唯一值都会转换为包含 [0] 和 [1] 标志的新二进制列。在此列中,[1] 表示存在该值,[0] 表示不存在。
使用贝叶斯高斯混合和高斯混合聚类方法的数学模型质量可能不足的原因
- 组件数量的错误选择:两种聚类方法都依赖于模型中组件数量的正确选择。如果选择的组件数量不足,或者相反,选择的组件数量过多,则可能导致聚类不够准确。
- 次优超参数调整:两种方法都有需要调整的超参数,例如协方差矩阵参数和先验分布。超参数的错误选择或调整可能会导致聚类模型的质量较差。
- 分布假设的不一致:贝叶斯高斯混合和高斯混合方法假设数据是高斯分布的。如果数据不满足这个假设,那么聚类的质量可能不够。
- 异常值和噪声处理不正确:数据中异常值和噪声的存在会对聚类质量产生负面影响。如果方法不适合处理异常值或数据未经预处理,则可能导致聚类质量较差。
- 数据缩放不足或不正确:如果您的数据具有不同的值范围或不同的测量单位,则需要在聚类之前正确缩放数据。不正确的缩放会影响聚类的质量。