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 |