Microsoft Clustering Algorithm

适用于:SQL Server 2019 及更早版本的 Analysis Services Azure Analysis Services Fabric/Power BI Premium

重要

数据挖掘在 SQL Server 2017 Analysis Services 中已弃用,现在在 SQL Server 2022 Analysis Services 中已停止使用。 对于已弃用和停止使用的功能,文档不会更新。 若要了解详细信息,请参阅 Analysis Services 后向兼容性

Microsoft 聚类分析算法是一种分段聚类分析算法,可循环访问数据集中的事例,以将它们分组为包含类似特征的分类。 在浏览数据、标识数据中的异常及创建预测时,这些分组十分有用。

聚类分析模型标识数据集中可能无法通过随意观察在逻辑上得出的关系。 例如,轻松就能猜想到,骑自行车上下班的人的居住地点通常离其工作地点不远。 但该算法可以找出有关骑自行车上下班人员的其他并不明显的特征。 在下面的关系图中,分类 A 表示有关通常开车上班人员的数据,而分类 B 表示通常骑自行车上班人员的数据。

通勤趋势的

聚类分析算法与其他数据挖掘算法(如 Microsoft 决策树算法)的不同之处在于,无需指定可预测列即可生成聚类分析模型。 聚类分析算法严格地根据数据以及该算法所标识的分类中存在的关系定型。

示例

考虑一组共享相似人口统计信息并从 Adventure Works 公司购买类似产品的人员。 这组人员就表示一个数据分类。 数据库中可能存在多个这样的分类。 通过观察构成分类的各列,可以更清楚地了解数据集中的记录如何相互关联。

算法的原理

Microsoft 聚类分析算法首先标识数据集中的关系,并基于这些关系生成一系列分类。 散点图是一种非常有用的方法,可以直观地表示算法如何对数据进行分组,如下面的关系图所示。 散点图可以表示数据集中的所有事例,在该图中每个事例就是一个点。 分类对该图中的点进行分组并阐释该算法所标识的关系。

数据集中事例的散点图 数据集

在最初定义分类后,算法将通过计算确定分类表示点分组情况的适合程度,然后尝试重新定义这些分组以创建可以更好地表示数据的分类。 该算法将循环执行此过程,直到它不能再通过重新定义分类来改进结果为止。

通过选择指定的聚类分析方法,可以自定义该算法的工作方式,从而限制分类的最大数量,或者更改创建一个分类所必需的支持量。 有关详细信息,请参阅 Microsoft 聚类分析算法技术参考。 此算法包括两种热门的的聚类分析方法:k-means 聚类分析和期望最大化方法。

聚类分析模型所必需的数据

准备用于定型聚类分析模型的数据时,应理解特定算法的要求,其中包括所需要的数据量以及使用数据的方式。

聚类分析模型的要求如下:

  • 单键列 每个模型都必须包含一个用于唯一标识每条记录的数值列或文本列。 不允许复合键。

  • 输入列 每个模型都必须至少包含一个输入列,该输入列包含用于生成此分类的值。 可以根据需要拥有任意多的输入列,但是具体取决于每个列中值的数量,添加额外列会增加定型模型所需的时间。

  • 可选可预测列 该算法不需要可预测列来生成模型,但是可以添加几乎任意数据类型的可预测列。 可以将可预测列的值视为对聚类分析模型的输入,或者将其指定仅用于预测。 例如,如果需要通过对人口统计信息(如地区或年龄)进行分类来预测客户的收入,则可将收入指定为 PredictOnly ,然后将所有其他列(如地区和年龄)添加为输入。

有关聚类分析模型支持的内容类型和数据类型的更多详细信息,请参阅 Microsoft 聚类分析算法技术参考的“要求”部分。

查看聚类分析模型

若要浏览该模型,可以使用 Microsoft 分类查看器。 查看聚类分析模型时,SQL Server Analysis Services在描述分类之间的关系的关系图中显示分类,并提供每个分类的详细配置文件、将每个分类与其他分类区分开的属性列表,以及整个训练数据集的特征。 有关详细信息,请参阅 使用 Microsoft 分类查看器浏览模型

如果希望了解更多详细信息,可在 Microsoft 一般内容树查看器中浏览该模型。 为该模型存储的内容包括每个节点中所有值的分布、每个分类的概率以及其他信息。 有关详细信息,请参阅 用于聚类分析模型的挖掘模型内容 (Analysis Services - 数据挖掘)

创建预测

为模型定型后,结果将存储为一组模式,您可以浏览该模型或利用它来作出预测。

可以创建查询,用于返回关于新数据是否适合所发现分类的预测,或者用于获取有关该分类的描述性统计信息。

有关如何创建针对数据挖掘模型的查询的信息,请参阅 数据挖掘查询。 有关如何使用针对聚类分析模型的查询的示例,请参阅 聚类分析模型查询示例

注解

  • 支持使用预测模型标记语言 (PMML) 创建挖掘模型。

  • 支持钻取。

  • 支持使用 OLAP 挖掘模型和创建数据挖掘维度。

另请参阅

数据挖掘算法(Analysis Services – 数据挖掘)
Microsoft 聚类分析算法技术参考
聚类分析模型的挖掘模型内容(Analysis Services – 数据挖掘)
聚类分析模型查询示例