Assegnare etichette di classe ai cluster k-mean


10

Ho una domanda basilare sul clustering. Dopo aver trovato k cluster con i loro centroidi, come posso fare per interpretare le classi dei punti dati che ho raggruppato (assegnando etichette di classe significative a ciascun cluster). Non sto parlando della convalida dei cluster trovati.

Può essere fatto in base a un piccolo insieme etichettato di punti dati, calcolare a quale cluster appartengono questi punti etichettati e in base al tipo e al numero di punti che ciascun cluster riceve, decidere l'etichetta? Sembra abbastanza ovvio, ma non so quanto sia standard assegnare le etichette ai cluster in questo modo.

Per essere chiari, voglio eseguire un clustering senza supervisione che non utilizza etichette per trovare prima i miei cluster. Dopo aver trovato i cluster, desidero assegnare etichette di classe significative ai cluster in base alle proprietà di alcuni punti dati di esempio.


Non sono sicuro di capire la tua domanda: di solito, qualsiasi algoritmo k-mean dovrebbe restituire informazioni sull'appartenenza alla classe per ciascun punto dati. Stai parlando di punti dati reali o nuove osservazioni?
chl

@chi Ho il sospetto che Riyaz sia preoccupato di trovare nomi con cui etichettare i cluster e sta parlando a priori della denominazione di alcuni punti e quindi usando un algoritmo che considera la preponderanza dei punti nominati nei cluster per poi nominare quei cluster.
Glen_b

2
@Riyaz, potremmo usare la seguente analogia con Factor Analysis per capire la tua domanda? Spesso qualcuno analizzerà un insieme di variabili per raggrupparle in gruppi di variabili che sembrano "stare insieme", ma poi l'analista deve pensare alla natura delle variabili che compongono ciascun cluster per apparire con un nome per / modo di pensare su ciò che ogni cluster (factor) è . È essenzialmente quello che stai arrivando qui?
gung - Ripristina Monica

Risposte:


4

Sì. Quello che proponi è interamente standard ed è il modo in cui il software k-mean standard funziona automaticamente. Nel caso di k-significa calcolare la distanza euclidea tra ciascuna osservazione (punto dati) e ogni media cluster (centroide) e assegnare le osservazioni al cluster più simile. Quindi, l'etichetta del cluster viene determinata esaminando le caratteristiche medie delle osservazioni classificate nel cluster in relazione alle medie di quelle relative agli altri cluster.


3

Se guardi i nomi nell'oggetto kmeans noterai che esiste un oggetto "cluster". Questo contiene le etichette delle classi ordinate come i dati di input. Ecco un semplice esempio che lega le etichette del cluster ai tuoi dati.

x <- data.frame(X=rnorm(100, sd=0.3), Y=rnorm(100, mean=1, sd=0.3))

k <- kmeans(x, 2) 
names(k)
x <- data.frame(x, K=k$cluster)

# You can also directly return the clusters
x <- data.frame(x, K=kmeans(x, 2)$cluster)

0

Le etichette per il cluster possono essere basate sulla classe di campioni di maggioranza all'interno di un cluster. Questo è vero solo se il numero di cluster è uguale al numero di classi.

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.