clustering with weka branca stefano dosi clio gnudi edward william

Post on 02-May-2015

221 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

CLUSTERING WITHWEKA

Branca StefanoDosi Clio

Gnudi Edward William

Outline

Tecniche di clusterizzazione con WEKA

Clusterizzazione del Dataset “Iris”

Possibilità di scelta tra vari algoritmi

Tecniche di clusterizzazione con WEKA

Possibilità di scelta tra vari algoritmi

Tecniche di clusterizzazione con WEKA

Tecniche di clusterizzazione con WEKA

Scelta dei parametri

Tecniche di clusterizzazione con WEKA

Scelta dei parametri

Tecniche di clusterizzazione con WEKA

Il “Cluster mode” è Il “Cluster mode” è utilizzato per utilizzato per scegliere cosa scegliere cosa

clusterizzare e le clusterizzare e le modalità con cui modalità con cui

valutare i risultativalutare i risultati

Cluster Mode

Il pulsante “Ignore attribute” apre Il pulsante “Ignore attribute” apre una finestra che permette di una finestra che permette di

selezionare eventuali attributi da selezionare eventuali attributi da non considerare nella formazione dei non considerare nella formazione dei

clustercluster

Tecniche di clusterizzazione con WEKA

Ignore attribute

Premendo il tasto “Start” Premendo il tasto “Start” si fa partire l'algoritmo.si fa partire l'algoritmo.

Le informazioni Le informazioni riguardanti il riguardanti il

processamento dei dati processamento dei dati vengono mostrate nel vengono mostrate nel

riquadro a destrariquadro a destra

Tecniche di clusterizzazione con WEKA

Tecniche di clusterizzazione con WEKA

Identificazione degli attributi più significativi

Tecniche di clusterizzazione con WEKA

Tecniche di clusterizzazione con WEKA

Tecniche di clusterizzazione con WEKA

K = 2K = 2 K = 5K = 5

Applicazione al Dataset “Wine”

Algoritmi partizionantiK-Means

Applicazione al Dataset “Wine”

Algoritmi partizionantiK-Means

Algoritmi basati sulla densitàDBScan

Variando ε (IRIS)

Algoritmi basati sulla densità - DBScan

Variando MinPoints (IRIS)

Algoritmi basati sulla densità - DBScan

1. Quali dimensioni dare a ε?

2. Non si possono individuare tutti i cluster e sottocluster in presenza di densità diverse

LimitiAlgoritmi basati sulla densità - DBScan

( Ordering Points To Identify the Clustering Structure )

“it does not produce a clustering of a data set explicitly; but instead creates an augmented ordering of the database representing its density-based clustering structure”

Algoritmi basati sulla densitàOPTICS

Al-Ri, optics ε=0.3

AlgoritmoAlgoritmo

Algoritmi basati sulla densità - OPTICS

= è un core object

Confronto con DBScanε = 0.9 ; MinPoints= 6

Clustered Instances

0 163 (100%)

ε = 0.5 ; MinPoints= 6 (si perdono i cluster a bassa densità)

Clustered Instances

0 86 ( 58%)

1 63 ( 42%)

Unclustered instances : 14

Algoritmi basati sulla densità - OPTICS

ε = 0.3 ; MinPoints= 6

Clustered Instances0 23 ( 16%)1 61 ( 43%)2 57 ( 40%)Unclustered instances : 22

Cluster 2 56

cluster 1 61

cluster 0 23

Undefined 23

Confronto con DBScan

Algoritmi basati sulla densità - OPTICS

Perché?

?? BORDER ?? BORDER rispetto ad un rispetto ad un core non core non ancora ancora processato??processato??

Confronto con DBScan

Algoritmi basati sulla densità - OPTICS

Caratteristiche dei dataset transazionali:

Alta dimensione

Sparsità

Grandi volumi di tuple

In questi casi, algoritmi basati sulle distanze (es. k-means) sono inefficienti.

Gli algoritmi gerarchici (es. ROCK) sono, invece, abbastanza efficienti ma poco scalabili

Algoritmi per DB transazionali

( Clustering with sLOPE )

Idea di baseMisurare la qualità di un cluster attraverso una funzione di

similarità globale basata sul rapporto altezza/larghezza dell’istogramma del cluster.

Esempio: cluster formato dalle transazioni {ab, abc, acd}

a b c d

H=2

W=4

Più alto è il rapporto H/W, migliore è il cluster perché viene migliorato l’overlapping intra-cluster.

Algoritmi per DB transazionaliCLOPE

Sia C un cluster, si definiscono:

D(C) insieme degli item distinti presenti nel cluster;

Occ(i,C) occorrenze dell’item i nel cluster;

S(C) dimensione dell’istogramma del cluster.

D(C)i

C)Occ(i,S(C) D(C)W(C)W(C)

S(C)H(C)

Per un clustering C={C1,…,Ck} la funzione profitto è:

k

1ii

k

1ii2

i

i

C

C)W(C)S(C

Profit(C)

k

1ii

k

1iir

i

i

C

C)W(C)S(C

Profit(C)

Si introduce il parametro r detto repulsione usato per controllare il livello di similarità intra-cluster

Algoritmi per DB transazionali - CLOPE

Algoritmo

/* Fase 1 - Initialization */1: while not end of the database file2: read the next transaction ⟨t,unknown ;⟩3: put t in an existing cluster or a new cluster Ci that maximize profit;4: write ⟨t, i back to database;⟩

/* Fase 2 - Iteration */5: repeat6: rewind the database file;7: moved = false;8: while not end of the database file9: read ⟨t, i ;⟩10: move t to an existing cluster or new

cluster Cj that maximize profit;11: if Ci ≠ Cj then12: write ⟨t, j ;⟩13: moved = true;14: until not moved;

Occupazione di memoria: nella RAM vengono memorizzati solo la transazione corrente e alcune informazioni (cluster feature) per ogni cluster come numero di transazioni (N), numero di item distinti (W), le occorrenze per ciascun item (occ) e la dimensione del cluster (S).

Calcolo del profitto: è possibile individuare il miglior cluster in cui inserire una transazione attraverso la funzione DeltaAdd che calcola, utilizzando le clustering feature, l‘aumento relativo della funzione Profit

1: int DeltaAdd(C, t, r) {2: S_new = C.S + t.ItemCount;3: W_new = C.W;4: for (i = 0; i < t.ItemCount; i++)5: if (C.occ[t.items[i]] == 0) ++W_new;6: return S_new*(C.N+1)/(W_new)r-C.S*C.N /(C.W)r;7: }

Algoritmi per DB transazionali - CLOPE

Vantaggi

Rapidità• Complessità: O(N x K x A)

Bassa occupazione di memoria• Database con 10.000 item e 1.000 cluster possono

essere memorizzati in 40 MB

Efficienza• Qualità del clustering molto vicina a quella di

algoritmi come ROCK e scarsa sensibilità all’ordine delle transazioni

Algoritmi per DB transazionali - CLOPE

Applicazione con WEKA

L’algoritmo è attivo solo se il dataset caricato è composto di attributi categorici. L’unico parametro da introdurre è la repulsione.

Per provare l’algoritmo con il dataset di prova (Iris), è stato applicato un filtro per discretizzare gli attributi (10 bin equi-frequenza) e renderli binari.

Algoritmi per DB transazionali - CLOPE

Risultati

CLOPE clustering results===============================================Clustered instances: 150Clustered Instances0 46 ( 31%)1 57 ( 38%)2 42 ( 28%)3 5 ( 3%)

Class attribute: classClasses to Clusters: 0 1 2 3 <-- assigned to cluster 46 0 0 4 | Iris-setosa 0 49 1 0 | Iris-versicolor 0 8 41 1 | Iris-virginica

Cluster 0 <-- Iris-setosaCluster 1 <-- Iris-versicolorCluster 2 <-- Iris-virginicaCluster 3 <-- No class

Incorrectly clustered instances :14.0 9.3333 %

CLOPE clustering results===============================================Clustered instances: 150Clustered Instances0 46 ( 31%)1 57 ( 38%)2 42 ( 28%)3 5 ( 3%)

Class attribute: classClasses to Clusters: 0 1 2 3 <-- assigned to cluster 46 0 0 4 | Iris-setosa 0 49 1 0 | Iris-versicolor 0 8 41 1 | Iris-virginica

Cluster 0 <-- Iris-setosaCluster 1 <-- Iris-versicolorCluster 2 <-- Iris-virginicaCluster 3 <-- No class

Incorrectly clustered instances :14.0 9.3333 %

CLOPE clustering results===============================================Clustered instances: 150Clustered Instances0 49 ( 33%)1 54 ( 36%)246 ( 31%)4 1 ( 1%)

Class attribute: classClasses to Clusters: 0 1 2 4 <-- assigned to cluster 49 1 0 0 | Iris-setosa 0 48 2 0 | Iris-versicolor 0 5 44 1 | Iris-virginica

Cluster 0 <-- Iris-setosaCluster 1 <-- Iris-versicolorCluster 2 <-- Iris-virginicaCluster 4 <-- No class

Incorrectly clustered instances : 9.0 6 %

CLOPE clustering results===============================================Clustered instances: 150Clustered Instances0 49 ( 33%)1 54 ( 36%)246 ( 31%)4 1 ( 1%)

Class attribute: classClasses to Clusters: 0 1 2 4 <-- assigned to cluster 49 1 0 0 | Iris-setosa 0 48 2 0 | Iris-versicolor 0 5 44 1 | Iris-virginica

Cluster 0 <-- Iris-setosaCluster 1 <-- Iris-versicolorCluster 2 <-- Iris-virginicaCluster 4 <-- No class

Incorrectly clustered instances : 9.0 6 %

Tutti gli attributi selezionati e repulsione a 2.8

Selezionati solo gli attributi sul petalo e repulsione a 2.5

Algoritmi per DB transazionali - CLOPE

Algoritmi per DB transazionali - CLOPEApplicazione al Dataset “Voting”

GRAZIE PER L’ATTENZIONEGRAZIE PER L’ATTENZIONE

top related