CLUSTERING WITH WEKA Branca Stefano Dosi Clio Gnudi Edward William.

Slides:



Advertisements
Presentazioni simili
Training On Line - CONP. 2 Richiesta Da Menu: Conferimenti ad inizio anno termico > Agosto > Pluriennali > Nuova Richiesta Si accede alla pagina di Richiesta.
Advertisements

INFORMATICA Algoritmi fondamentali
1 MeDeC - Centro Demoscopico Metropolitano Provincia di Bologna - per Valutazione su alcuni servizi erogati nel.
Fondamenti di Informatica
1 Pregnana Milanese Assessorato alle Risorse Economiche Bilancio Preventivo P R O P O S T A.
Differenze nei vari linguaggi di Elisa Trifirò e Barbara Tacchino
Informatica Generale Marzia Buscemi
Grafi Algoritmi e Strutture Dati. Camil Demetrescu, Irene Finocchi, Giuseppe F. Italiano Algoritmi e strutture dati 2/ed 2 Copyright © The McGraw.
Lez. 3 - Gli Indici di VARIABILITA’
Routing Crediti Parte delle slide seguenti sono adattate dalla versione originale di J.F Kurose and K.W. Ross (© All Rights Reserved)
Alberi binari di ricerca
Cammini minimi con sorgente singola
Analisi Bivariata & Esercizi Analisi Univariata
Analisi Bivariata & Esercizi Analisi Univariata Metodi Quantitativi per Economia, Finanza e Management Esercitazione n°4.
1 Defect testing Lobiettivo: scoprire difetti in un programma Un test ha successo se forza il programma a comportarsi in modo anomalo I test provano la.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 Usa la tecnica del.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 Stesso approccio.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 Ordinamenti ottimi.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 Usa la tecnica del.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 Stesso approccio.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 Usa la tecnica del.
Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie di analisi.
Informatica di base A.A. 2003/2004 Algoritmi e programmi
1 Capitolo 2: Semplificazione, Ottimizzazione e Implicazione.
1 Esempi di consistenza sui limiti Non consistente sui limiti, considera Z=2, poi X-3Y=10 Ma il dominio qui sotto e consistente sui limiti: Confrontare.
Algoritmo di Ford-Fulkerson
Algoritmi e strutture Dati - Lezione 7
Programmazione 1 9CFU – TANTE ore
Canale A. Prof.Ciapetti AA2003/04
Algoritmi e Strutture Dati IV. Heap e Code di Priorità
Il linguaggio Fortran 90: 4. Array: Vettori e Matrici
Il linguaggio Fortran 90: 2. Istruzioni di Controllo
“Riconoscimento Targhe Automobilistiche” Parte II: Clustering e Riconoscimento Caratteri (implementazione MATLAB) Studenti: Damaggio Elettra Firmani Donatella.
APPUNTI SUL LINGUAGGIO C
Algoritmi e Strutture Dati
QuickSort Quick-Sort(A,s,d) IF s < d THEN q = Partiziona(A,s,d) Quick-Sort(A,s,q-1) Quick-Sort(A,q + 1,d)
JavaScript: Array JavaScript: Array.
Cos’è un problema?.
Chapter 14, Hastie , Tibshirani and Friedman
Clustering Mercoledì, 24 novembre 2004 Giuseppe Manco Readings: Chapter 8, Han and Kamber Chapter 14, Hastie, Tibshirani and Friedman Density-Based Clustering.
Clustering Martedì, 30 novembre 2004 Giuseppe Manco Readings: Chapter 8, Han and Kamber Chapter 14, Hastie, Tibshirani and Friedman Clustering Lecture.
Strutture di controllo in C -- Flow Chart --
CAPITOLO 7.
Intelligenza Artificiale
Introduzione alle basi di dati
CHARGE PUMP Principio di Funzionamento
WINDOWS XP PRIMI PASSI. Caratteristiche del sistema Le caratteristiche di base del PC (tipo e versione del sistema operativo installato, tipo e velocità
1 Negozi Nuove idee realizzate per. 2 Negozi 3 4.
UNIVERSITA’ DEGLI STUDI DI GENOVA
LE SAI LE TABELLINE? Mettiti alla prova!.
Introduzione agli algoritmi e strutture dati 3/ed T. H. Cormen, C. E. Leiserson, R. L. Rivest, C. Stein Copyright © 2010 – The McGraw-Hill Companies srl.
21 marzo 2002 (ri-)Avvisi: Giovedi 28 marzo la lezione e sospesa. Nuovo indirizzo di Spedire messaggi e esercizi solo.
1 Ly-LAB Sistema di gestione dei dati analitici di laboratorio.
Capitolo 3 Strutture dati elementari Algoritmi e Strutture Dati Camil Demetrescu, Irene Finocchi, Giuseppe F. Italiano.
Voronoi-Based K Nearest Neighbor Search for Spatial Network Databases
Sviluppare un programma in C che, dato un array da 100 elementi interi caricato con numeri casuali compresi tra [10,100], sia in grado di cercare il valore.
Classificazione (aka Cluster Analysis)
+21 Aspettative economiche – Europa Dicembre 2013 Indicatore > +20 Indicatore 0 a +20 Indicatore 0 a -20 Indicatore < -20 Unione Europea Totale: +14 Indicatore.
ROCK A Robust Clustering Algorithm for Categorical Attributes Sudipto Guha, Rajeev Rastogi, Kyuseok Shim Sistemi Informativi per le Decisioni a.a. 2005/2006.
Modulo 6 Test di verifica
Il linguaggio Fortran 90: 3. Procedure e Funzioni
Lezione 3 Struttura lessicale del linguaggio
Sistemi Informativi A. A. 2013/14 WEKA. WEKA Explorer.
Paola Disisto, Erika Griffini, Yris Noriega.  Insieme ordinato di operazioni non ambigue ed effettivamente computabili che, quando eseguito, produce.
PRIMI ELEMENTI DI PROGRAMMAZIONE
Corso di Laurea Specialistica in Ingegneria Gestionale Sistemi Informativi per le decisioni a.a Waikato Environment for Knowledge Analysis Data.
CURE: AN EFFICIENT CLUSTERING ALGORITHM FOR LARGE DATABASES GRUPPO 12 Filippo Bindi Massimiliano Ceccarini Andrea Giuliodori PRESENTAZIONE Sistemi Informativi.
6/11/01Ordinamento 1 Un esempio di algoritmi: ordinamento.
Prof. P.Sanna - Prof.ssa D.Lecca Corso A programmatori 1 La gestione delle risorse e dei file.
Introduzione a Weka Di Fabio Cassano
Transcript della presentazione:

CLUSTERING WITH WEKA Branca Stefano Dosi Clio Gnudi Edward William

Outline Introduzione Algoritmi partizionanti Clustering con weka Algoritmi partizionanti K-Means Algoritmi basati sulla densità DBScan OPTICS Algoritmi per DB transazionali CLOPE

Clusterizzazione del Dataset “Iris” Tecniche di clusterizzazione con WEKA Clusterizzazione del Dataset “Iris” Funzioni per la misura della similarità locale vs. globale 3

Tecniche di clusterizzazione con WEKA Possibilità di scelta tra vari algoritmi Funzioni per la misura della similarità locale vs. globale 4

Tecniche di clusterizzazione con WEKA Possibilità di scelta tra vari algoritmi Funzioni per la misura della similarità locale vs. globale 5

Tecniche di clusterizzazione con WEKA Scelta dei parametri Funzioni per la misura della similarità locale vs. globale 6

Tecniche di clusterizzazione con WEKA Scelta dei parametri Funzioni per la misura della similarità locale vs. globale 7

Tecniche di clusterizzazione con WEKA Cluster Mode Il “Cluster mode” è utilizzato per scegliere cosa clusterizzare e le modalità con cui valutare i risultati Funzioni per la misura della similarità locale vs. globale 8

Tecniche di clusterizzazione con WEKA Ignore attribute Funzioni per la misura della similarità locale vs. globale Il pulsante “Ignore attribute” apre una finestra che permette di selezionare eventuali attributi da non considerare nella formazione dei cluster 9

Premendo il tasto “Start” si fa partire l'algoritmo. Tecniche di clusterizzazione con WEKA Premendo il tasto “Start” si fa partire l'algoritmo. Le informazioni riguardanti il processamento dei dati vengono mostrate nel riquadro a destra Funzioni per la misura della similarità locale vs. globale 10

Tecniche di clusterizzazione con WEKA Funzioni per la misura della similarità locale vs. globale 11

Identificazione degli attributi più significativi Tecniche di clusterizzazione con WEKA Identificazione degli attributi più significativi Funzioni per la misura della similarità locale vs. globale 12

Tecniche di clusterizzazione con WEKA Funzioni per la misura della similarità locale vs. globale 13

Tecniche di clusterizzazione con WEKA Funzioni per la misura della similarità locale vs. globale K = 2 K = 5 14

Algoritmi partizionanti K-Means Applicazione al Dataset “Wine” Funzioni per la misura della similarità locale vs. globale 15

Algoritmi partizionanti K-Means Applicazione al Dataset “Wine” Funzioni per la misura della similarità locale vs. globale 16

Algoritmi basati sulla densità DBScan

Algoritmi basati sulla densità - DBScan Variando ε (IRIS)

Algoritmi basati sulla densità - DBScan Variando MinPoints (IRIS)

Algoritmi basati sulla densità - DBScan Limiti Quali dimensioni dare a ε? Non si possono individuare tutti i cluster e sottocluster in presenza di densità diverse

( Ordering Points To Identify the Clustering Structure ) Algoritmi basati sulla densità OPTICS ( 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”

Al-Ri, optics ε=0.3

Algoritmi basati sulla densità - OPTICS Algoritmo = è un core object

Algoritmi basati sulla densità - OPTICS Confronto con DBScan ε = 0.9 ; MinPoints= 6 Clustered Instances 0 163 (100%) ε = 0.5 ; MinPoints= 6 (si perdono i cluster a bassa densità) 0 86 ( 58%) 1 63 ( 42%) Unclustered instances : 14

Algoritmi basati sulla densità - OPTICS Confronto con DBScan ε = 0.3 ; MinPoints= 6 Clustered Instances 0 23 ( 16%) 1 61 ( 43%) 2 57 ( 40%) Unclustered instances : 22 cluster 0 23 cluster 1 61 Cluster 2 56 Undefined 23 Perché?

Algoritmi basati sulla densità - OPTICS Confronto con DBScan ?? BORDER rispetto ad un core non ancora processato??

Algoritmi per DB transazionali 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 Funzioni per la misura della similarità locale vs. globale

( Clustering with sLOPE ) Algoritmi per DB transazionali CLOPE ( Clustering with sLOPE ) Idea di base Misurare 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} H=2 a b c d W=4 Più alto è il rapporto H/W, migliore è il cluster perché viene migliorato l’overlapping intra-cluster.

Algoritmi per DB transazionali - CLOPE 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. Per un clustering C={C1,…,Ck} la funzione profitto è: 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 file 2: 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: repeat 6: rewind the database file; 7: moved = false; 8: while not end of the database file 9: read 〈t, i〉; 10: move t to an existing cluster or new cluster Cj that maximize profit; 11: if Ci ≠ Cj then 12: 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: } L‘algoritmo è composto da 2 fasi: la prima fase esegue un primo scan del database e costruisce il clustering, la seconda fase rifinisce il clustering eseguendo altri scan (in genere pochi). L‘algoritmo termina quando l‘ultimo scan non ha modificato il clustering. Complessità di DeltaAdd = O(t.itemCount)

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 N:transazioni K: num max di cluster A: dimensione media 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 Tutti gli attributi selezionati e repulsione a 2.8 Selezionati solo gli attributi sul petalo e repulsione a 2.5 CLOPE clustering results =============================================== Clustered instances: 150 Clustered Instances 0 49 ( 33%) 1 54 ( 36%) 46 ( 31%) 4 1 ( 1%) Class attribute: class Classes 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-setosa Cluster 1 <-- Iris-versicolor Cluster 2 <-- Iris-virginica Cluster 4 <-- No class Incorrectly clustered instances : 9.0 6 % CLOPE clustering results =============================================== Clustered instances: 150 Clustered Instances 0 46 ( 31%) 1 57 ( 38%) 2 42 ( 28%) 5 ( 3%) Class attribute: class Classes 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-setosa Cluster 1 <-- Iris-versicolor Cluster 2 <-- Iris-virginica Cluster 3 <-- No class Incorrectly clustered instances : 14.0 9.3333 %

Applicazione al Dataset “Voting” Algoritmi per DB transazionali - CLOPE Applicazione al Dataset “Voting”

GRAZIE PER L’ATTENZIONE