ClusterDistance (DMX)

ClusterDistance 函数返回输入事例与指定分类之间的距离;如果未指定分类,则返回输入事例与可能性最大的分类之间的距离。

语法

ClusterDistance([<ClusterID expression>])

适用范围

只有在基础数据挖掘模型支持聚类分析时,才可使用此函数。 此函数可用于任何类型的聚类分析模型(EM、K-Means 等),但结果会因算法而异。

返回类型

一个标量值。

注释

ClusterDistance 函数可返回输入事例与其最可能所属的分类之间的距离。

在 K-Means 聚类分析中,由于所有事例只能属于一个分类,并且成员身份权值为 1.0,因此分类距离始终是 0。 但是,在 K-Means 中,假定每个分类有一个中点。 您可以通过查询或浏览挖掘模型内容中的 NODE_DISTRIBUTION 嵌套表来获取中点的值。 有关详细信息,请参阅聚类分析模型的挖掘模型内容(Analysis Services – 数据挖掘)

在默认的 EM 聚类分析方法中,分类中的所有点都被视为具有均等的可能性;因此,分类就没有中点。 特定事例与特定分类 N 之间的 ClusterDistance 值的计算方法如下:

ClusterDistance(N) = 1–(membershipWeight(N))

或:

ClusterDistance(N) = 1–ClusterProbability (N))

相关预测函数

Analysis Services 提供了以下可用于查询聚类分析模型的函数:

  • 使用 Cluster (DMX) 函数可以返回可能性最大的分类。

  • 使用 ClusterProbability (DMX) 函数可以获得事例属于特定分类的概率。 此值用作分类距离的反数。

  • 使用 PredictHistogram (DMX) 函数可以返回输入事例存在于每个模型分类中的可能性直方图。

  • 使用 PredictCaseLikelihood (DMX) 函数可以返回一个 0 到 1 之间的度量值,指示根据算法所学习的模型得出的输入事例存在的可能性。

示例 1:获取到可能性最大的分类的分类距离

下面的示例返回从指定事例到该事例最有可能属于的分类的距离。

SELECT
    ClusterDistance()
FROM
    [TM Clustering]
NATURAL PREDICTION JOIN
(SELECT 28 AS [Age],
    '2-5 Miles' AS [Commute Distance],
    'Graduate Degree' AS [Education],
    0 AS [Number Cars Owned],
    0 AS [Number Children At Home]) AS t

示例结果:

Expression

0.0477390930705145

若要查看是哪个分类,可以替换上一示例中的 ClusterDistance 替换为 Cluster。

示例结果:

$CLUSTER

Cluster 6

示例 2:获取到指定分类的距离

下面的语句使用挖掘模型内容架构行集返回挖掘模型中分类的节点 ID 和节点标题的列表。 然后,就可以将所返回的节点标题用作 ClusterDistance 函数中的分类标识符参数。

SELECT NODE_UNIQUE_NAME, NODE_CAPTION 
FROM <model>.CONTENT 
WHERE NODE_TYPE = 5

示例结果:

NODE_UNIQUE_NAME

NODE_CAPTION

001

Cluster 1

002

Cluster 2

下面的语句示例返回指定事例到标记为 Cluster 2 的分类的距离。

SELECT
    ClusterDistance('Cluster 2')
AS [Cluster 2 Distance]
FROM [TM Clustering]
NATURAL PREDICTION JOIN
(SELECT 28 AS [Age],
    '2-5 Miles' AS [Commute Distance],
    'Graduate Degree' AS [Education],
    0 AS [Number Cars Owned],
    0 AS [Number Children At Home]) AS t

示例结果:

Cluster 2 Distance

0.97008209236394

请参阅

参考

Cluster (DMX)

数据挖掘扩展插件 (DMX) 函数参考

函数 (DMX)

聚类分析模型的挖掘模型内容(Analysis Services – 数据挖掘)