ClusterDistance (DMX)

Si applica a: SQL Server Analysis Services

La funzione ClusterDistance restituisce la distanza del case di input dal cluster specificato o, se non viene specificato alcun cluster, la distanza del case di input dal cluster più probabile.

Sintassi

  
ClusterDistance([<ClusterID expression>])  

Si applica a

È possibile utilizzare questa funzione solo se il modello di data mining sottostante supporta il clustering. La funzione può essere utilizzata con qualsiasi tipo di modello di clustering (EM, K-medie, ecc.), ma i risultati variano in base all'algoritmo.

Tipo restituito

Valore scalare.

Osservazioni:

La funzione ClusterDistance restituisce la distanza tra il case di input e il cluster con la probabilità più alta per tale caso di input.

Poiché con il clustering K-medie un case può appartenere solo a un cluster, la distanza del cluster è sempre 0 con un peso di appartenenza di 1.0. Tuttavia, in K-medie si presuppone che per ogni cluster sia presente un centro. È possibile ottenere il valore del centro esplorando o eseguendo una query sulla tabella nidificata NODE_DISTRIBUTION nel contenuto del modello di data mining. Per altre informazioni, vedere Contenuto del modello di data mining per i modelli di clustering (Analysis Services - Data mining).

Con il metodo di clustering predefinito EM tutti i punti nel cluster presentano la stessa probabilità; pertanto, per motivi strutturali non è previsto un centro per il cluster. Il valore di ClusterDistance tra un caso specifico e un particolare cluster N viene calcolato come segue:

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

Oppure:

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

Analysis Services offre le funzioni aggiuntive seguenti per l'esecuzione di query sui modelli di clustering:

Esempio 1: Acquisizione della distanza del cluster rispetto al cluster più probabile

Nell'esempio seguente viene restituita la distanza dal case specificato al cluster a cui appartiene il case più probabile.

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  

Risultati dell'esempio:

Expression
0.0477390930705145

Per individuare il tipo di cluster, è possibile utilizzare Cluster al posto di ClusterDistance nell'esempio precedente.

Risultati dell'esempio:

$CLUSTER
Cluster 6

Esempio 2: Acquisizione della distanza rispetto a un cluster specificato

La sintassi seguente utilizza il set di righe dello schema relativo al contenuto del modello di data mining per restituire l'elenco degli ID dei nodi e le didascalie dei nodi per i cluster del modello di data mining. È quindi possibile usare la didascalia del nodo come argomento dell'identificatore del cluster nella funzione ClusterDistance .

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

Risultati dell'esempio:

NODE_UNIQUE_NAME NODE_CAPTION
001 Cluster 1
002 Cluster 2

Nell'esempio di sintassi seguente viene restituita la distanza del case specificato dal cluster con etichetta 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  

Risultati dell'esempio:

Cluster 2 Distance
0.97008209236394

Vedi anche

Cluster (DMX)
Informazioni di riferimento sulle funzioni DMX (Data Mining Extensions)
Funzioni (DMX)
Contenuto del modello di data mining per i modelli di clustering (Analysis Services - Data mining)