Clustering misura di qualità


17

Ho un algoritmo di clustering (non k-medie) con il parametro di input (numero di cluster). Dopo aver eseguito il clustering, vorrei ottenere una misura quantitativa della qualità di questo clustering. L'algoritmo di clustering ha una proprietà importante. Per se invio punti dati senza alcuna distinzione significativa tra loro a questo algoritmo, di conseguenza otterrò un cluster contenente punti dati e un cluster con punto dati. Ovviamente questo non è quello che voglio. Quindi voglio calcolare questa misura di qualità per stimare la ragionevolezza di questo raggruppamento. Idealmente, sarò in grado di confrontare queste misure per diversi . Quindi eseguirò il clustering nell'intervallo dikk=2NN11kke scegli quello con la migliore qualità. Come calcolo tale misura di qualità?

AGGIORNARE:

Ecco un esempio quando è un cluster non valido. Diciamo che ci sono 3 punti su un piano che forma un triangolo equilatero. Dividere questi punti in 2 cluster è ovviamente peggio che dividerli in 1 o 3 cluster.(N1,1)


Per me questo non è ovvio. Vedo dei cluster che in realtà hanno sempre dimensioni diverse ...
Anony-Mousse -Reststate Monica

Risposte:


12

La scelta della metrica dipende piuttosto da quale si considera lo scopo del clustering. Personalmente penso che il clustering dovrebbe riguardare l'identificazione di diversi gruppi di osservazioni, ciascuna generata da un diverso processo di generazione dei dati. Quindi testerei la qualità di un cluster generando dati da processi di generazione di dati noti e quindi calcolerei la frequenza con cui i cluster vengono classificati erroneamente dal cluster. Ovviamente ciò ha comportato l'assunzione di ipotesi sulla distribuzione dei modelli da ciascun processo di generazione, ma è possibile utilizzare set di dati progettati per la classificazione supervisionata.

Altri considerano il clustering come il tentativo di raggruppare punti con valori di attributo simili, nel qual caso sono applicabili misure come SSE ecc. Tuttavia trovo questa definizione di clustering piuttosto insoddisfacente, in quanto ti dice solo qualcosa sul particolare campione di dati, piuttosto che qualcosa di generalizzabile sulle distribuzioni sottostanti. Il modo in cui i metodi gestiscono i cluster sovrapposti è un problema particolare con questa vista (per la vista "processo di generazione dei dati" non provoca alcun problema reale, si ottengono solo probabilità di appartenenza al cluster).


3
+1 per evidenziare la distinzione tra il modello basato Clustering vs di clustering non supervisionato basato distanza puramente.
chl

1
Penso che entrambi gli scopi abbiano il loro uso fieristico in ambienti diversi. Esistono molti contesti in cui si fa effettivamente solo a guardare i dati a portata di mano (es. Definizione anomala). Inoltre, prima di poter accedere a diversi processi di generazione dei dati, hai bisogno di esplorazione che è meglio fare con la tua seconda definizione ...
Etienne Low-Décarie

Concordo con Etienne che entrambi i metodi hanno i loro usi. Tuttavia, direi anche che se un'osservazione è errata o non implica implicitamente alcune ipotesi sul processo di generazione dei dati, quindi la seconda forma di clustering è forse solo per il primo passo nella comprensione dei dati quando si tenta di orientarsi correttamente.
Dikran Marsupial,

4

Poiché il clustering non è supervisionato, è difficile sapere a priori quale sia il cluster migliore. Questo è un argomento di ricerca. Gary King, un noto scienziato sociale quantitativo, ha un prossimo articolo su questo argomento.


+! Sì; @Max Cosa pensi che sarebbe questo "ovvio" clustering?

@mbq: in realtà non so quale sarebbe un buon clustering per questo. Con "ovvio" menziono che (N-1, 1) non è sicuramente un buon raggruppamento per questo. Un clustering migliore sarebbe solo un cluster, quindi nessun cluster. O forse un po 'di cluster con un numero di cluster superiore a 2.
Max

Il tuo collegamento sembra essere rotto.
Etienne Low-Décarie,

Ecco il link aggiornato all'articolo: gking.harvard.edu/files/abs/discov-abs.shtml
Dolan Antenucci

4

Qui hai un paio di misure, ma ce ne sono molte altre:

SSE: somma dell'errore quadrato dagli elementi di ciascun cluster.

Distanza tra cluster: somma della distanza quadrata tra ciascun centroide del cluster.

Distanza intra cluster per ciascun cluster: somma della distanza quadrata dagli elementi di ciascun cluster al suo centroide.

Raggio massimo: distanza massima da un'istanza al centroide del cluster.

Raggio medio: somma della distanza maggiore da un'istanza al centroide del cluster divisa per il numero di cluster.


Ho provato a usare intra in inter cluster di distanza, ma non riuscivo a pensare a qualcosa di utile per un cluster con un punto. Inoltre non ho un punto centrale. Ho solo distanze tra i punti.
Max

Maggiore è la distanza tra cluster, meglio è, è possibile misurarla calcolando le distanze tra il centro dei cluster.
Mariana Soffer,

4

Ti sei imbattuto nell'area di convalida del cluster. Il mio studente ha effettuato la validazione usando le tecniche descritte in:

A. Banerjee e RN Dave. Convalida dei cluster utilizzando la statistica hopkins. 2004 Conferenza internazionale IEEE sui sistemi fuzzy IEEE Cat No04CH37542, 1: p. 149–153, 2004.

Si basa sul principio che, se un cluster è valido, i punti dati vengono distribuiti uniformemente all'interno di un cluster.

Ma prima dovresti determinare se i tuoi dati hanno una cosiddetta tendenza al cluster, vale a dire se vale la pena raggruppare e un numero ottimale di cluster:

S. Saitta, B. Raphael e IFC Smith. Un indice di validità completo per il clustering. Intell. Data Anal., 12 (6): p. 529-548, 2008.


3

Come altri hanno sottolineato, esistono molte misure di "qualità" del clustering; la maggior parte dei programmi minimizza SSE. Nessun singolo numero può dire molto sul rumore nei dati, sul rumore nel metodo o sui minimi piatti - punti bassi in Saskatchewan.

Quindi, prima prova a visualizzare, provare, un dato cluster, prima di ridurlo a "41". Quindi esegui 3 corse: ottieni SSE 41, 39, 43 o 41, 28, 107? Quali sono le dimensioni e i raggi del cluster?

(Aggiunto :) Dai un'occhiata ai grafici delle silhouette e ai punteggi delle silhouette, ad esempio nel libro di Izenman, Modern Multivariate Statistical Techniques (2008, 731p, isbn 0387781889).


3

La Silhouette può essere utilizzato per valutare i risultati di clustering. Lo fa confrontando la distanza media all'interno di un cluster con la distanza media ai punti nel cluster più vicino.


2

È possibile utilizzare un metodo come quello utilizzato nella foresta casuale senza supervisione.

Gli algoritmi della foresta casuale trattano la classificazione senza supervisione come un problema di due classi, in cui un set di dati artificiali e casuali completamente diverso viene creato dal primo set di dati rimuovendo la struttura di dipendenza nei dati (randomizzazione).

È quindi possibile creare un set di dati così artificiale e casuale, applicare il modello di clustering e confrontare la metrica di scelta (ad esempio SSE) nei dati reali e casuali.

Il mixaggio in randomizzazione, permutazione, bootstrap, insaccamento e / o jacknifing potrebbe darti una misura simile a un valore P misurando il numero di volte in cui un determinato modello di clustering ti dà un valore inferiore per i tuoi dati reali rispetto ai tuoi dati casuali usando una metrica di scelta (ad es. SSE o previsione dell'errore fuori borsa).

La metrica è quindi la differenza (probabilità, differenza di dimensione, ...) in qualsiasi metrica di scelta tra dati reali e casuali.

L'iterazione per molti modelli consente di distinguere tra modelli.

Questo può essere implementato in R.

randomforest è disponibile in R


+1, mi piace questa idea; tuttavia, la randomizzazione / permutazione dei dati interromperà solo le relazioni b / t variabili, questo non funzionerebbe se ci fosse un cluster con una singola variabile.
gung - Ripristina Monica

1

Se l'algoritmo di clustering non è deterministico, prova a misurare la "stabilità" dei cluster: scopri la frequenza con cui ciascuna due osservazioni appartiene allo stesso cluster. Questo è un metodo generalmente interessante, utile per scegliere l'algoritmo k kmeans.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.