共用方式為


ClusterDistance (DMX)

適用於: SQL Server Analysis Services

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 提供下列用於查詢叢集模型的其他函式:

範例 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  

範例結果︰

運算式
0.0477390930705145

若要找出這是哪一個叢集,您可以在上述範例中取代 Cluster ClusterDistance

範例結果︰

$CLUSTER
叢集 6

範例 2:取得指定叢集的距離

下列語法會使用採礦模型內容架構數據列集來傳回採礦模型中叢集的節點標識碼和節點標題清單。 接著,您可以使用節點標題作為ClusterDistance函式中的叢集標識元自變數。

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

範例結果︰

NODE_UNIQUE_NAME NODE_CAPTION
001 叢集 1
002 叢集 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  

範例結果︰

叢集 2 距離
0.97008209236394

另請參閱

叢集 (DMX)
數據採礦延伸模組 (DMX) 函式參考
函式 (DMX)
叢集模型的採礦模型內容 (Analysis Services - 數據採礦)