Compartilhar via


ClusterDistance (DMX)

Aplica-se a: SQL Server Analysis Services

A função ClusterDistance retorna a distância do caso de entrada do cluster especificado ou, se nenhum cluster for especificado, a distância do caso de entrada do cluster mais provável.

Sintaxe

  
ClusterDistance([<ClusterID expression>])  

Aplica-se A

Essa função só pode ser usada se o modelo de mineração de dados subjacente oferecer suporte a clustering. A função pode ser usada com qualquer tipo de modelo de clusterização (EM, K-Means etc.), mas o resultado será diferente de acordo com o algoritmo.

Tipo de retorno

Valor escalar.

Comentários

A função ClusterDistance retorna a distância entre o caso de entrada e o cluster que tem a maior probabilidade para esse caso de entrada.

No caso da clusterização K-Means, como qualquer caso pode pertencer a apenas um cluster, com um peso de associação de 1.0, a distância do cluster sempre será 0. No entanto, em K-Means, pressupõe-se que cada cluster tem um centroide. Para obter o valor do centroide, consulte ou procure a tabela aninhada NODE_DISTRIBUTION no conteúdo do modelo de mineração. Para obter mais informações, consulte Conteúdo do modelo de mineração para modelos de clustering (Analysis Services – Mineração de dados).

No caso do método de clusterização de EM padrão, todos os pontos dentro do cluster são considerados igualmente prováveis; portanto, por design, não há centroide para o cluster. O valor de ClusterDistance entre um caso específico e um cluster específico N é calculado da seguinte maneira:

ClusterDistance(N) =1-(membershipWeight(N))

Ou:

ClusterDistance(N) =1-ClusterProbability (N))

O Analysis Services fornece as seguintes funções adicionais para consultar modelos de clustering:

Exemplo 1: Obtendo a distância do cluster para um cluster mais provável

O exemplo a seguir retorna a distância do caso especificado para o cluster ao qual o caso provavelmente pertence.

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  

Resultados do exemplo:

Expression
0.0477390930705145

Para descobrir qual é esse cluster, você pode substituir Cluster for ClusterDistance no exemplo anterior.

Resultados do exemplo:

$CLUSTER
Cluster 6

Exemplo 2: Obtendo a distância para um cluster especificado

A sintaxe a seguir usa o conjunto de linhas do esquema de conteúdo do modelo de mineração para retornar a lista de IDs de nó e legendas de nó para os clusters que existem no modelo de mineração. Em seguida, você pode usar a legenda do nó como o argumento do identificador de cluster na função ClusterDistance .

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

Resultados do exemplo:

NODE_UNIQUE_NAME NODE_CAPTION
001 Cluster 1
002 Cluster 2

A sintaxe a seguir retorna a distância do caso especificado do cluster rotulado como 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  

Resultados do exemplo:

Distância do Cluster 2
0.97008209236394

Confira também

Cluster (DMX)
Referência de função DMX (Data Mining Extensions)
Funções (DMX)
Conteúdo do modelo de mineração para modelos de clustering (Analysis Services – Mineração de Dados)