parallel and distributed association mining: a survey cappellazzo pietro 809652 carminati roberto...

46
Parallel and Distributed Association Mining: A Survey Cappellazzo Pietro 809652 Carminati Roberto 814930 Approfondimento per il corso di Calcolo Parallelo A.A. 2006 - 2007 Docente: Orlando Salvatore

Upload: bernardo-rossi

Post on 01-May-2015

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Parallel and Distributed Association Mining: A Survey Cappellazzo Pietro 809652 Carminati Roberto 814930 Approfondimento per il corso di Calcolo Parallelo

Parallel and Distributed Association Mining:

A Survey

Cappellazzo Pietro 809652

Carminati Roberto 814930

Approfondimento per il corso di Calcolo Parallelo A.A. 2006 - 2007

Docente: Orlando Salvatore

Page 2: Parallel and Distributed Association Mining: A Survey Cappellazzo Pietro 809652 Carminati Roberto 814930 Approfondimento per il corso di Calcolo Parallelo

OBBIETTIVO:

estrarre informazioni utili da una grande mole di dati

Una delle attività più importanti di questo processo è

l’ ARM: associaton rule mining

che consiste nell’identificare frequenze, collegamenti, correlazioni,

causalità tra insieme di item in database transazionali.

Introduzione: Cos’è il Data Mining

Page 3: Parallel and Distributed Association Mining: A Survey Cappellazzo Pietro 809652 Carminati Roberto 814930 Approfondimento per il corso di Calcolo Parallelo

Regole Associative

Scopo dell’ARM: trovare tutte le regole che correlano la presenza di un

insieme di articoli con quello di un altro insieme di articoli

Dati: D un database di transazioni I un insieme di item distinti T una transazione ( TI )

Una regola associativa ha la forma AB dove:

A I, B I, A∩B=ø

Page 4: Parallel and Distributed Association Mining: A Survey Cappellazzo Pietro 809652 Carminati Roberto 814930 Approfondimento per il corso di Calcolo Parallelo

Regole Associative

ESEMPIO: gli acquisti fatti da vari clienti sono memorizzati come

transazione nel database di un negozio.

Esempio di regola associativa:

Diaper Beer

Page 5: Parallel and Distributed Association Mining: A Survey Cappellazzo Pietro 809652 Carminati Roberto 814930 Approfondimento per il corso di Calcolo Parallelo

Misure associate alle regole

Dato un database di transazioni e una regola associativa XZ, si definisce:

Supporto: la probabilità che una transazione del database

contenga sia X che Z:

Sup (X Z ) = Probabilità(X Z ) Confidenza:

la probabilità condizionale che una transazione che include X contenga anche Z:

Conf (X Z ) = Probabilità(Z | X )

Page 6: Parallel and Distributed Association Mining: A Survey Cappellazzo Pietro 809652 Carminati Roberto 814930 Approfondimento per il corso di Calcolo Parallelo

ESEMPIO:

Dove σ(x) è il numero di transazioni nel database checontengono X.

Misure associate alle regole

Page 7: Parallel and Distributed Association Mining: A Survey Cappellazzo Pietro 809652 Carminati Roberto 814930 Approfondimento per il corso di Calcolo Parallelo

Frequent Itemset

Un passo chiave dell’association mining consiste nel

trovare gli insiemi frequenti:

Frequent Itemset: insieme di item che hanno supporto maggiore di una soglia prefissata: min_sup.

Se {AB} è un frequent itemset allora sia A che B sono frequenti.

Sia I un Itemset, se un sottoinsieme di I non è frequente allora neanche I lo è.

Page 8: Parallel and Distributed Association Mining: A Survey Cappellazzo Pietro 809652 Carminati Roberto 814930 Approfondimento per il corso di Calcolo Parallelo

Ricercare i frequent itemset

L’algoritmo sequenziale più diffuso è Apriori basato sulle proprietà dei frequent itemset, in particolare:

Ogni sottoinsieme di un itemset frequente deve essere frequente.

Fasi Principali:

1. Ricerca di tutti i frequent itemset Li dove i indica la dimensione.

2. Generazione delle regole associative dai precedenti L i.

Page 9: Parallel and Distributed Association Mining: A Survey Cappellazzo Pietro 809652 Carminati Roberto 814930 Approfondimento per il corso di Calcolo Parallelo

Algoritmo Apriori

Processo iterativo partendo da candidati Ck ottiene i relativi Frequent itemset Lk:

1) GenStep: Generazione di candidati Ck+1 da Lk, facendo il join di Lk con se stesso e prendendo solo gli itemset di lunghezza k+1, che contengono item distinti.

2) Per ogni transazione T del database si incrementa il contatore di tutti i candidati contenuti.

3) PruneStep: Vengono selezionati solo i candidati frequenti.

In Output Apriori restituisce I frequent itemset Fk trovati

(singoli o a coppie, triple,...)

Page 10: Parallel and Distributed Association Mining: A Survey Cappellazzo Pietro 809652 Carminati Roberto 814930 Approfondimento per il corso di Calcolo Parallelo

Algoritmo Apriori

ESEMPIO: (min_sup=2)

Page 11: Parallel and Distributed Association Mining: A Survey Cappellazzo Pietro 809652 Carminati Roberto 814930 Approfondimento per il corso di Calcolo Parallelo

Algoritmo Apriori

Possibili soluzioni: Velocizzare la ricerca dei candidati memorizzandoli in Hash Tree

Applico una funzione hash sul valore degli item. Nodi foglia contengono una lista di itemset. Funzione di subsetting per trovare i candidati contenuti in una

transazione visitando l’hash tree.

ECCESSIVI ACCESSI AL DATABASE

Problemi: Contare i candidati può essere

problematico: Numero di candidati potrebbe essere

enorme. Una transazione può contenere molti

candidati.

Page 12: Parallel and Distributed Association Mining: A Survey Cappellazzo Pietro 809652 Carminati Roberto 814930 Approfondimento per il corso di Calcolo Parallelo

Algoritmi Paralleli

Ulteriori Problemi: Numero di transizioni in un dataset molto grande . Per valori piccoli di supporto minimo si ottengono

molti candidati.

Soluzione: Per migliorare le prestazioni si possono utilizzare

varianti dell’algoritmo Apriori che sfruttano le computazioni in parallelo.

Page 13: Parallel and Distributed Association Mining: A Survey Cappellazzo Pietro 809652 Carminati Roberto 814930 Approfondimento per il corso di Calcolo Parallelo

Benefici e obbiettivi degli algoritmi paralleli

Benefici: Scalabilità in rapporto alla dimensione dei dati. Miglioramento del tempo di risposta del sistema.

Obbiettivi: Minimizzare comunicazioni e sincronizzazioni. Bilanciamento del carico. Trovare la giusta decomposizione dei dati. Minimizzare l’accesso I/O.

Page 14: Parallel and Distributed Association Mining: A Survey Cappellazzo Pietro 809652 Carminati Roberto 814930 Approfondimento per il corso di Calcolo Parallelo

Algoritmi Paralleli

La maggior parte degli algoritmi attuali (ARM parallel) sfruttano queste caratteristiche:

Bilanciamento del carico statico Avviene in modo statico perché si partiziona all’inizio il

database fra i nodi disponibili.

Memoria distribuita Per la scalabilità del sistema, altrimenti limitata dal bus.

Data Parallelism/Task Parallelism/Hybrid Parallelism

Page 15: Parallel and Distributed Association Mining: A Survey Cappellazzo Pietro 809652 Carminati Roberto 814930 Approfondimento per il corso di Calcolo Parallelo

Data parallelism vs Task parallelism

Data Parallelism Il database è partizionato fra i processori

disponibili.

Task Parallelism I processori eseguono calcoli indipendenti. Hanno bisogno di accedere a tutto il database.

Hybrid Parallelism Combina data e task parallelism.

Page 16: Parallel and Distributed Association Mining: A Survey Cappellazzo Pietro 809652 Carminati Roberto 814930 Approfondimento per il corso di Calcolo Parallelo

Distributed Memory ARM

Per accedere alle altre memorie presenti nel sistema è necessario

utilizzare Message Passing

Scalabilità a scapito della facilità di programmazione

Page 17: Parallel and Distributed Association Mining: A Survey Cappellazzo Pietro 809652 Carminati Roberto 814930 Approfondimento per il corso di Calcolo Parallelo

Count Distribution (Data Parallelism)

È una semplice parallelizzazione di Apriori dove:

Il database viene partizionato in base ai P processori disponibili.

Tutti i processori possiedono l’intero hash tree dei candidati.

Ogni processore così può aumentare i contatori in base alla sua partizione locale del database.

Avviene la riduzione globale scambiando i contatori locali con tutti i processori.

Page 18: Parallel and Distributed Association Mining: A Survey Cappellazzo Pietro 809652 Carminati Roberto 814930 Approfondimento per il corso di Calcolo Parallelo

Count Distribution - Algoritmo -

Nel primo passo (K=1)

Pi dinamicamente genera il proprio candidate itemset Ci1,dai valori

presenti nella partizione di database locale Di.

Nei passi successivi (k>1)

1. Ogni processore Pi genera il Ck completo usando Lk-1 (il frequent itemset precedentemente calcolato).

2. Ogni Pi conta i candidati presenti in Ck utilizzando la propria parte di Database.

3. Ogni Pi scambia i contatori locali con tutti gli altri processori, in questo step viene forzata la sincronizzazione, si genera quindi il Ck globale.

4. Ogni processore Pi compie la fase di pruning e genera Lk.

Page 19: Parallel and Distributed Association Mining: A Survey Cappellazzo Pietro 809652 Carminati Roberto 814930 Approfondimento per il corso di Calcolo Parallelo

Count Distribution

Il database viene partizionato.

Si effettua il conteggio (Parziale).

Ci si scambiano i contatori.Si eseguono le fasi di pruning e join.

Page 20: Parallel and Distributed Association Mining: A Survey Cappellazzo Pietro 809652 Carminati Roberto 814930 Approfondimento per il corso di Calcolo Parallelo

Count Distribution Miglioramenti rispetto alla soluzione

sequenziale: Tempo per transazione invariato rispetto all’algoritmo

sequenziale. Ogni processore lavora su N/p transazioni (N transazioni

totali, p processori). Tempo totale diminuisce di un fattore pari a p.

Problemi: Non vengono partizionati i candidati. Bassa scalabilità all’aumentare degli items. Non si sfrutta efficacemente la memoria aggregata.

Page 21: Parallel and Distributed Association Mining: A Survey Cappellazzo Pietro 809652 Carminati Roberto 814930 Approfondimento per il corso di Calcolo Parallelo

Data Distribution(Task Parallelism)

Viene sfruttata tutta la memoria aggregata del sistema: Si partiziona sia il database che l’insieme dei candidati

in modalità round robin. Ogni processore deve poter accedere a tutto il

database (sia partizione locale che partizioni remote) in tutte le iterazioni (Data Broadcast).

Overhead di comunicazioni elevato

Page 22: Parallel and Distributed Association Mining: A Survey Cappellazzo Pietro 809652 Carminati Roberto 814930 Approfondimento per il corso di Calcolo Parallelo

Data Distribution - Algoritmo -

Nel primo passo (K=1) come in Count Distribution:

Pi dinamicamente genera il proprio candidate itemset Ci1,dai valori

presenti nella partizione di database locale Di.

Nei passi successivi (k>1)

1. Ogni processore Pi genera il Ck usando Lk-1 (il frequent itemset precedentemente calcolato). Ogni processore Pi manterrà solo N/P itemset che formano l’insieme Ck, questo sarà chiamato Ci

k. La scelta di quali itemset mantenere avviene in maniera roud robin. L’unione di tutti i Ci

k darà Ck.

2. Ogni Pi conta i candidati presenti in Cik utilizzando la propria parte di

Database e quella ottenuta dagli altri.

3. Ogni Pi calcolerà il propriol Lik usando il Ci

k locale. L’unione di tutti gli Lik darà

Lk.

4. Ogni processore Pi scambia il proprio Lik con ogni altro processore per

determinare Lk globale e poter procedere con il prossimo passo. In questo step è richiesta la sincronizzazione di tutti i processori.

Page 23: Parallel and Distributed Association Mining: A Survey Cappellazzo Pietro 809652 Carminati Roberto 814930 Approfondimento per il corso di Calcolo Parallelo

Data Distribution

Ogni processo per effettuare il conteggio della propria partizione di canditati ha bisogno di leggere sia le informazioni locali che quelle remote.

Al termine di ogni step è necessaria una sincronizzazione per determinare il frequent itemset globale .

Page 24: Parallel and Distributed Association Mining: A Survey Cappellazzo Pietro 809652 Carminati Roberto 814930 Approfondimento per il corso di Calcolo Parallelo

Data Distribution MIGLIORAMENTI RISPETTO APRIORI SEQUENZIALE:

Il numero dei candidati per processore viene ridotto di un fattore P.

Numero medio dei nodi foglia in un hash tree locale viene ridotto in base al numero di processori.

Riduzione del tempo di transazione di un fattore pari a P.

MIGLIORAMENTO RISPETTO A COUNT DISTRIBUTION: Sfruttamento della memoria aggregata. Riduzione del tempo di transazione.

PROBLEMI: Questo algoritmo soffre dell’overhead di comunicazioni che

genera e ha nella pratica prestazioni inferiori rispetto a Count Distribution.

Page 25: Parallel and Distributed Association Mining: A Survey Cappellazzo Pietro 809652 Carminati Roberto 814930 Approfondimento per il corso di Calcolo Parallelo

Candidate Distribution(Task Parallelism) I precedenti algoritmi hanno bisogno di una

sincronizzazione al termine di ogni iterazione, questo può comportare uno sbilanciamento del carico.

Per evitare questo l’algoritmo Candidate Distribution, tramite un euristica basata sul supporto, partiziona candidati, in modo che il carico sia bilanciato.

Contemporaneamente il database viene replicato selettivamente, ogni processore può quindi continuare a lavorare in modo indipendente.

Page 26: Parallel and Distributed Association Mining: A Survey Cappellazzo Pietro 809652 Carminati Roberto 814930 Approfondimento per il corso di Calcolo Parallelo

Candidate Distribution

Prima di iniziare l’algoritmo vero e proprio viene determinato un passo l, in modo euristico, dal quale tutti i processori lavoreranno in modo indipendente.

Alla fine di ogni passo ogni processore invia i risultati ottenuti in modo asincrono.

Se questi vengono ricevuti dagli altri in tempo vengono utilizzati, altrimenti saranno utilizzati nei passi successivi.

Page 27: Parallel and Distributed Association Mining: A Survey Cappellazzo Pietro 809652 Carminati Roberto 814930 Approfondimento per il corso di Calcolo Parallelo

Candidate Distribution - Algoritmo -

Nei passi iniziali (K<l) viene utilizzato Count oppure Data Distribution.

Nel passo (k=l)

1. Lk-1 viene partizionato fra tutti gli N processori in modo che siano “well balanced”.

2. Pi genera Cik utilizzando solamente la propria parte di Lk-1 .

3. Ogni Pi determinerà quindi il conteggio globale per Cik.Per fare questo

contemporaneamente al conteggio il database Di sarà ridistribuito.

4. Ogni processore Pi scambia il prorio Lik con ogni altro processore in modo

asincrono, necessari per poter formare l’insieme Cik+1.

Page 28: Parallel and Distributed Association Mining: A Survey Cappellazzo Pietro 809652 Carminati Roberto 814930 Approfondimento per il corso di Calcolo Parallelo

Candidate Distribution - Algoritmo -

Nei passi successivi (k>l)

1. Ogni processore Pi colleziona tutti i frequent itemset ricevuti dagli altri e li utilizza nella fase di prunig (non è necessario attendere tutti i risultati). Questa fase determina anche il bilanciamento del carico: ai processori che hanno inviato prima i risultati vengono affidati più candidati.

2. Ogni Pi determinerà quindi Cik utilizzando Li

k-1 locale.

3. Ogni Pi a questo punto effettuerà il conteggio utilizzando il proprio Di e determinerà Li

k locale, inviandolo in modo asincrono a tutti i processori.

PROBLEMI: La ridistribuzione del database è un operazione molto

costosa, questo fa sì che le prestazioni siano peggiori di quelle date da Count Distribution..

Page 29: Parallel and Distributed Association Mining: A Survey Cappellazzo Pietro 809652 Carminati Roberto 814930 Approfondimento per il corso di Calcolo Parallelo

Confronto delle prestazioni fraCount/Data/Candidate Distribution

D: Numero medio di transazioni.

I: Dimensione media del frequent itemset.

T: Lunghezza media delle transazioni.

Res

po

nse

Tim

e

Page 30: Parallel and Distributed Association Mining: A Survey Cappellazzo Pietro 809652 Carminati Roberto 814930 Approfondimento per il corso di Calcolo Parallelo

Approcci simili Sono state implementati, indipendentemente dagli algoritmi presentati,

alcuni algoritmi molto simili di cui diamo solo una breve introduzione:

Non Partitioned Apriori (NPA) Essenzialmente uguale a Count Distribution. Unica differenza la riduzione finale avviene su un processore “master”.

Simply Partitioned Apriori (SPA) Corrisponde esattamente a Data Distribution.

Hash Partitioned Apriori (HPA) Simile a Candidate Distribution. Differenza il database non viene replicato selettivamente, ad ogni passo i

candidati C vengono generati e inviati ai processori secondo una funzione hash.

E’ difficile che ogni processore riceva un numero uguale di candidati, inoltre il volume di comunicazione è molto maggiore di DD.

Page 31: Parallel and Distributed Association Mining: A Survey Cappellazzo Pietro 809652 Carminati Roberto 814930 Approfondimento per il corso di Calcolo Parallelo

Ottimizzazioni Consideriamo ora alcune varianti dell’algoritmo Data

Distribution visto in precedenza, che ne ottimizzano la scalabilità e ne riducono le comunicazioni:

Data Distribution

Intelligent Data Distribution

Hybrid Distribution

Count Distribution

Page 32: Parallel and Distributed Association Mining: A Survey Cappellazzo Pietro 809652 Carminati Roberto 814930 Approfondimento per il corso di Calcolo Parallelo

Intelligent Data Distribution

L’idea è quella di ridurre le comunicazioni eseguite da Data Distribution (All to All broadcast): Ogni processore invia dati a quello di destra e riceve da quello di

sinistra (Ring Based all-to-all broadcast). Partizionamento intelligente dei candidati basato sul prefisso

degli itemset (primo elemento). Ogni processore ha una bitmap (“bitmask”) che tiene traccia dei

candidati locali. Pruning iniziale grazie alla bitmask. Una transazione viene analizzata solo se contiene item rilevanti

(con un certo prefisso). Ogni processore ha un fattore P di candidati.

Page 33: Parallel and Distributed Association Mining: A Survey Cappellazzo Pietro 809652 Carminati Roberto 814930 Approfondimento per il corso di Calcolo Parallelo

Intelligent Data Distribution

Page 34: Parallel and Distributed Association Mining: A Survey Cappellazzo Pietro 809652 Carminati Roberto 814930 Approfondimento per il corso di Calcolo Parallelo

Intelligent Data Distribution

Miglioramenti rispetto a DD :

Ridotto il lavoro ridondante.

Se numero totale dei candidati è sotto una certa soglia (= sta in memoria) si comporta come Count Distribution.

Buon bilanciamento del carico.

Page 35: Parallel and Distributed Association Mining: A Survey Cappellazzo Pietro 809652 Carminati Roberto 814930 Approfondimento per il corso di Calcolo Parallelo

Hybrid Distribution

Combina Count Distribution e Intelligent Data Distribution Processori vengono partizionati in gruppi

(superprocessore). La Count Distribution è usata dai superprocessori. L’Intelligent Data Distribution è invece utilizzata

all’interno dei superprocessori (tra i processori). Inoltre il numero di superprocessori è modificato

dinamicamente ad ogni passo.

Page 36: Parallel and Distributed Association Mining: A Survey Cappellazzo Pietro 809652 Carminati Roberto 814930 Approfondimento per il corso di Calcolo Parallelo

Hybrid Distribution

Page 37: Parallel and Distributed Association Mining: A Survey Cappellazzo Pietro 809652 Carminati Roberto 814930 Approfondimento per il corso di Calcolo Parallelo

Hybrid Distribution

Vantaggi:

Le comunicazioni sono ridotte di 1/G (dove G è il numero di superprocessori).

Load balancing specialmente nelle ultime iterazioni.

Prestazioni simili a IDD, ma molto più scalabile.

Page 38: Parallel and Distributed Association Mining: A Survey Cappellazzo Pietro 809652 Carminati Roberto 814930 Approfondimento per il corso di Calcolo Parallelo

Confronto delle prestazioni fraCD DD IDD HD - Scalabilità -

Page 39: Parallel and Distributed Association Mining: A Survey Cappellazzo Pietro 809652 Carminati Roberto 814930 Approfondimento per il corso di Calcolo Parallelo

Confronto delle prestazioni fraCD IDD HD – Aumento dei dati-

Page 40: Parallel and Distributed Association Mining: A Survey Cappellazzo Pietro 809652 Carminati Roberto 814930 Approfondimento per il corso di Calcolo Parallelo

Confronto delle prestazioni fraCD IDD HD

Page 41: Parallel and Distributed Association Mining: A Survey Cappellazzo Pietro 809652 Carminati Roberto 814930 Approfondimento per il corso di Calcolo Parallelo

Altre Soluzioni PDM

Formulazione parallela basata su hashing dell’algoritmo DHP (Direct Hashing and Pruning), una forma di Apriori che utilizza una tecnica di hashing per filtrare itemset e che riduce ad ogni passo il size del db delle transazioni (più efficiente nel generare candidati).

Fast Distributed Mining (FDM) Ottimizzato per l’ambiente distribuito (comunicazioni molto più

lente). Si basa su Count Distribution. Propone nuove tecniche per ridurre il numero di candidati

MINORI COMUNICAZIONI.

Fast Parallel Mining Versione parallela di FDM.

Page 42: Parallel and Distributed Association Mining: A Survey Cappellazzo Pietro 809652 Carminati Roberto 814930 Approfondimento per il corso di Calcolo Parallelo

Shared Memory ARM

Questi algoritmi non hanno avuto una grande attenzione nella letteratura ARM, ma ultimamente con l’avvento di multiprocessori desktop stanno diventando sempre più importanti.

Processori condividono la memoria di sistema, gli accessi sono diretti e omogenei

Facilità di programmazione a scapito della scalabilità limitata dal Bus

Page 43: Parallel and Distributed Association Mining: A Survey Cappellazzo Pietro 809652 Carminati Roberto 814930 Approfondimento per il corso di Calcolo Parallelo

CCPD e PCCD • CCPD (Common Candidate Partitioned Database):

Basato su Apriori usa un approccio di tipo Data Parallel.• Il Database viene diviso in parti di dimensioni uguali su ogni

processore.• Viene parallelizzata la fase di generazione dell’hash tree

contenente i candidati, che viene condiviso (utilizzando dei lock).

• PCCD (Partitioned Candidate Common Database): Simile a CCPD ma con approccio Task parallel.• L’albero dei candidati viene costruito in modo separato da ogni

processore.• Ogni processore per ottenere il supporto del proprio insieme di

candidati deve scansionare l’intero DB→gravi problemi di overhead.

Page 44: Parallel and Distributed Association Mining: A Survey Cappellazzo Pietro 809652 Carminati Roberto 814930 Approfondimento per il corso di Calcolo Parallelo

• ALTA DIMENSIONALITÁ• I metodi visti possono trattare poche migliaia di item o di dimensioni ridotte

perché non può essere ridotta la complessità quadratica della seconda iterazione (conteggio della frequenza di 2-itemset).

• Possibili soluzioni: metodo che enumera solo pattern massimali, utilizzo di pruning hash-based.

• DIMENSIONE DEL DATABASE• Possono essere trattati dati solo nell’ordine di decine di GB.• Impossibile trovare tutti gli itemset frequenti in un solo passo.• I candidati non possono stare in memoria.• Possibile soluzione: tecniche di parallel-join.

• DISTRIBUZIONE LOGICA E FISICA DEI DATI• La maggior parte degli algoritmi trattano partizionamento orizzontale dei

database distribuiti (ogni sito ha diverse transazioni) e non verticale (ogni sito ha diversi item).

Problemi Aperti

Page 45: Parallel and Distributed Association Mining: A Survey Cappellazzo Pietro 809652 Carminati Roberto 814930 Approfondimento per il corso di Calcolo Parallelo

• ASIMMETRIA DEI DATI• La maggior parte degli algoritmi ha bisogno di asimmetria dei dati.• È necessaria simmetria per applicare il pruning globale.

• BILANCIAMENTO DEL CARICO DINAMICO• Tutti gli algoritmi esistenti utilizzano bilanciamento statico, basato su iniziale

scomposizione dei dati.• Assumono un ambiente dedicato e omogeneo poco reale.

• SCOPERTE DELLE REGOLE ASSOCIATIVE• Ci si concentra sulla scoperta di (pochi) itemset frequenti.• Assunzione errata: in realtà possono essere milioni.• Necessario prestare attenzione al processo di generazione delle regole.

• GENERALIZZAZIONE DI REGOLE ASSOCIATIVE• Quantitative association mining.• Multiple-level mining.

Problemi Aperti

Page 46: Parallel and Distributed Association Mining: A Survey Cappellazzo Pietro 809652 Carminati Roberto 814930 Approfondimento per il corso di Calcolo Parallelo

Bibliografia

M.J. Zaki. Parallel and Distributed Association Mining: A survey. IEEE Concurrency, Vol. 7, no. 4, 1999.

E. Han, G. Karypis, and V. Kumar. Scalable Parallel Data Mining for Association Rules. IEEE Transactions on Knowledge and Data Engineering. 2000. Vol. 12, n. 3, 2000.

R. Agrawal and J. Shafer. Parallel mining of association rules. IEEE Trans. on Knowledge and Data Engg., 8(6):962--969, December 1996.

S. Orlando Association mining slide per il corso Data Minig. Università Ca’ Foscari Venezia.