Compartilhar via


ClusterDistance (DMX)

A função ClusterDistance retorna a distância do caso de entrada do cluster especificado ou, caso nenhum cluster tenha sido 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

Um valor escalar.

Comentários

A função ClusterDistance retorna a distância entre o caso de entrada e o cluster que tem a mais alta 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 centróide. Para obter o valor do centróide, 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á centróide para o cluster. O valor de ClusterDistance entre um caso específico e um cluster N é calculado da seguinte forma:

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

Ou:

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

Funções de previsão relacionadas

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

  • Use a função Cluster (DMX) para retornar o cluster mais provável.

  • Use a função ClusterProbability (DMX) para obter a probabilidade de um caso pertencer a um cluster específico. Este valor serve como o inverso da distância de cluster.

  • Use a função PredictHistogram (DMX) para retornar um histograma da probabilidade de o caso de entrada existir em cada cluster do modelo.

  • Use a função PredictCaseLikelihood (DMX) para retornar uma medida de 0 a 1 que indica qual a probabilidade de um caso de entrada existir, considerando o modelo aprendido pelo algoritmo.

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:

Expressão

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 . Você pode usar a legenda de nó como o argumento de identificador de cluster na ClusterDistance função.

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