...

5^ - Lezione Cluster analysis non gerarchica [modalità compatibilità]

by user

on
Category: Documents
14

views

Report

Comments

Transcript

5^ - Lezione Cluster analysis non gerarchica [modalità compatibilità]
www2.unica.it/isola/univercity/
Cluster analysis non gerarchica
Corso di Analisi di Mercato - Anno 2011
2
Se
•Dataframe di grandi dimensioni
•Conosciamo a priori il numero di gruppi che vogliamo
ottenere
Possiamo optare per i metodi statistici non gerarchici. In
particolare:
•Il metodo delle “k-medie” o “k-means”.
•Il metodo delle “nubi dinamiche”
Consentono di ottenere una soluzione che non rappresenta
quella ottimale, ma una delle tante possibili determinando a
priori quel numero di classi e avendo scelto le unità da cui
iniziare il raggruppamento.
Corso di Analisi di Mercato - Anno 2011
3
Algoritmo nubi dinamiche
Corso di Analisi di Mercato - Anno 2011
4
Dimostrazione kmeans
Installare e caricare il pacchetto animator
es<-read.csv(”es.csv")
kmeans.ani(es,4)
Corso di Analisi di Mercato - Anno 2011
5
km5<-kmeans(dataframequnatitativo, 5,100)
km5 #Vengono mostrati gli oggetti
Il comando kmeans consente di utilizzare le tecniche delle
“k-medie” e delle “nubi dinamiche”. Nell’esempio indicato:
•crea una partizione a 5 cluster con il metodo delle k-medie;
•i primi 5 elementi iniziali sono selezionati casualmente;
•il numero di iterazioni è pari a 100;
problema il comando kmeans() può essere utilizzato solo
con un dataframe di variabili quantitative. Nella pratica quindi
è poco utilizzato
Nella Guida è descritto l’utilizzo del comando kmeans
Corso di Analisi di Mercato - Anno 2011
6
Con dati misti (variabili qualitative e quantitative nello stesso
dataframe) occorre utilizzare una tecnica analoga, che usa
una diversa misura di dissimilarità: la “K-medoid” che si può
ottenere attraverso i commandi clara() o pam() contenuti
all’interno del pacchetto “cluster”.
dati<-read.csv2("centrocomm.csv")
km3<-clara(dati,3)
Km3<-pam(dati,3)
Alcuni degli oggetti di output che si ottengono:
•…$medoids: centroide o elemento rappresentativo di ogni cluster
km3$medoids
•…$clustering: indica il cluster di appartenenza di ogni individuo
km3$clustering
Corso di Analisi di Mercato - Anno 2011
7
pam()
• Compared to kmeans, the function pam: (a) it also accepts a
dissimilarity matrix; (b) it is more robust because it
minimizes a sum of dissimilarities instead of a sum of
squared euclidean distances.
• The pam-algorithm is based on the search for k
representative objects or medoids…after finding a set of k
medoids, k clusters are constructed by assigning each
observation to the nearest medoid. The goal is to find k
representative objects which minimize the sum of the
dissimilarities of the observations to their closest
representative object. By default, when medoids are not
specified, the algorithm first looks for a good initial set of
medoids (this is called the build phase).
• For large datasets clara() is preferable.
8
Analisi dell’output
Per verificare la numerosità dei gruppi
table(km3$clustering)
Per creare i singoli dataframe di ogni gruppo si procede
come segue:
g1<-dati[km3$clustering==1,]
g2<-dati[km3$clustering==2,]
g3<-dati[km3$clustering==3,]
Corso di Analisi di Mercato - Anno 2011
9
Metodi
Comando
Gerarchico
agglomerativi
daisy()
Pacchetto
“cluster”
k-means()
Nessun
aggiuntivo
pacchetto
Non utilizzabile
Utilizzabile con
con
Tutte le variabili
(metodo misto)
Grossi
dataframe
Variabili
quantitative
Variabili
qualitative
Tutte le variabili
-
Non gerarchici
clara() e pam()
Pacchetto
“cluster”
Corso di Analisi di Mercato - Anno 2011
10
www2.unica.it/isola/univercity/
Fly UP