Basi di dati distribuite Prof. M.T. PAZIENZA a.a. 2003-2004 DATA MINING Data Mining Obiettivo del Data Mining è quello di: • supportare l’analisi esplorativa di volumi di dati molto grandi • con metodologie di tipo statistico • con l’intento di riconoscere nei dati ed estrarre trend e fenomeni regolari sconosciuti e potenzialmente utili a supporto di decisioni in merito ad argomenti specifici Data Mining - Tools Il DM è il processo di identificazione di correlazioni o patterns tra decine e decine di campi in database di grandi dimensioni. Software per il Data Mining: supportare l’utente nell’analisi di dati da diversi punti di viste (dimensioni), classificarli e sintetizzare le relazioni identificate. Data Mining: scalabiltà Il DM deve elaborare grandi quantità di dati per cui adotta algoritmi scalabili, ovvero per i quali i tempi di elaborazione crescono linearmente alla misura del data set mentre mantengono costante la quantità di risorse utilizzate. Data Mining: caratteristiche I sistemi di data mining sono caratterizzati dal dover gestire: Grandi quantità di dati (ingestibili se non con strumenti automatici) Dati incompleti e /o imprecisi Dati inficiati da errori non prevedibili (alcuni attributi si basano su giudizi o misure del tutto soggettivi) Dati a struttura complessa Dati eterogenei Data Mining: tecniche usate • • • • • • Clustering i.e. cluster analysis Data summatization Learning classification rules Finding dependency network Analysing changes Detecting anomalies Data Mining - Discovery • Classi: i dati del db vengono usati per localizzare raggruppamenti predeterminati • Cluster: data item vengono raggruppati secondo relazioni logiche o preferenze dell’utente • Associazioni: i dati vengono analizzati per identificare associazioni (o cooccorrenze) • Pattern sequenziali: i dati vengono analizzati per anticipare il loro comportamento (trend e pattern) Clustering L’attività del clastering o segmentazione di un data base è l’azione del partizionamento del data base cosicché ciascun gruppo o partizione sia simile in accordo ad un qualche criterio o metrica (->produzione di profili di utenti) Con il clustering si ottengono sottogruppi (dei dati) cui verranno applicate ulteriori analisi KDD-knowledge e data discovery Si identificano quattro passi: 1. Data selection - identificazione dei dati ed attributi di interesse2. Data cleaning - rimozione del rumore, conversione in unità di misura comparabili 3. Data mining - applicazione di algoritmi di estrazione di pattern4. Valutazione - i pattern sono visualizzati all’utente per una valutazione - Cooccorrenze Identificazione di eventi complessi (customer transaction) cooccorrenti (market basket) Estrapolazioni (con qualche problema) Itemset è un set di item all’interno di una transazione utente Il supporto di un itemset è la frazione di transazioni in una base dati che contiene tutti gli item dell’itemset Cooccorrenze Calcolo degli itemset frequenti Algoritmo iterativo (ipotesi: ogni subset di un itemset frequente è un itemset frequente) Si parte da una numerosità 1 per incrementarla di passo in passo; nessun itemset viene perso. Regole di associazione Regole che associano un attributo di una relazione ad un altro Una regola di associazione indica quanto un set di item sia implicato da un altro. Ogni regola ha associate due misure: Supporto: percentuale di transazioni per le quali l’implicazione è vera Confidenza: percentuali di transazioni che contengono tutti gli item implicati; è una misura della validità della regola. Regole di associazione (generaliz.) Gerarchia ISA :ogni transazione contiene implicitamente, per ciascuno dei suoi item, gli antenati nella gerarchia. E’ possibile riconoscere relazioni tra item a diversi livelli della gerarchia Sostituire un itemset con uno dei suoi antenati nella gerarchia aumenta il valore del supporto da esso fornito alla transazione Regole di associazione (generaliz.) Analisi temporale (calendario=qualunque gruppo di date): dato un calendario, si possono calcolare regole associative relativamente al set di tuple il cui campo data cade all’interno del calendario. Il supporto di una tupla all’interno di un calendario può essere significativamente diverso (sia > che < ) da quello all’interno della base di dati Regole di associazione (generaliz.) Il concetto di sequenze di item è associato a quello di sequenze di transazioni associate ad un particolare valore di un attributo Una sottosequenza di una sequenza di itemset si ottiene cancellando uno o più itemset; una sottosequenza è ancora una sequenza di itemset. Il supporto di una sottosequenza S è la percentuale di sequenze di cui S è una sottosequenza Regole di associazione (generaliz.) Funzioni per il riconoscimento di sequenze di pattern analizzano collezioni di record correlati e scoprono pattern che ricorrono frequentemente su un determinato periodo di tempo (sequenze temporali) Regole predittive - predicati Si vuole identificare regole con una struttura specifica L’attributo designato il cui valore deve essere predetto, si chiama attributo dipendente Tutti gli altri attributi si chiamano attributi predittivi Gli attributi predittivi vengono usati per predire (desumere) il valore dell’attributo dipendente Regole predittive - predicati La forma del predicato dipende dal tipo dell’attributo predittivo (numerico, categoriale) Attributi numerici -> analisi numeriche (regole di regressione) Attributi categoriali -> test su valori (regole di classificazione) Regole Le regole di regressione e di classificazione si applicano a valori continui e di categoria, mentre le regole associative ad un valore specifico appartenente ad un data set Si possono combinare più regole tra loro anche se di tipo diverso instanziando una sorta di ragionamento definito di volta in volta sulla specifica applicazione (che ne identifica la forma ed i valori degli attributi) Alberi di decisione Un albero di decisione è una struttura dati ad albero che rappresenta set di decisioni. Queste decisioni generano regole per la classificazione di un dataset. Un albero di decisione è una rappresentazione grafica di una collezione di regole di classificazione Alberi di decisione Ogni nodo del cammino è un attributo predittivo Il nodo foglia è un attributo dipendente e rappresenta la regola di classificazione L’albero di decisione è una collezione di regole di classificazione: una per ogni foglia Ottimizzare la costruzione del data base tenendo conto dell’albero di decisione Alberi di decisione • Usati per rappresentare conoscenza • Costruiti tramite un training set • Le regole sono in genere semplici ed intuitive Problemi • Difficili da mantenere • Inadeguati per rappresentare molti tipi di conoscenza Clustering Partizionare in gruppi un set di record del data base in modo che all’interno di un gruppo e record siano simili (godano di una stessa proprietà), mentre due gruppi di record siano dissimili Ciascun gruppo identifica un cluster ed ogni record appartiene ad un solo cluster La similarità tra record è misurata dalla funzione distanza Processo di Data Mining- Fasi Data pre-processing • Risoluzione dell’eterogeneità dei dati • Pulizia dei dati • Organizzazione dei dati per la ricerca Applicazione di tool per il data mining • Estrazione di pattern dai dati preprocessati Interpretazione e valutazione • Orientati all’utente (attributi di interesse, conoscenza del dominio, conoscenza a-priori Processo di Data Mining- Issues • • • • • • • • Rumorosità dei dati Staticità dei dati Sparsità Rilevanza Eterogeneità Efficienza degli algoritmi Dimensione e complessità dei dati … Processo di Data Mining- Tecniche • • • • Statistica Clustering Visualizzazione Induzione di regole • …. Data Mining- Infrastrutture tecnologiche Applicazioni esistono su ogni tipo e misura di sistemi (piattaforme mainframe, client/server, e PC) Prezzi da poche migliaia di euro su, su fino a più di milioni di euro. Misura del data base: maggiore è la quantità di dati collezionati ed elaborati, maggiore è la potenziali del sistema di DM prodotto Complessità delle query: maggiore è la complessità elle query, maggiore è il numero delle query processate, e maggiore è la potenza del sistema di DM prodotto Data Mining- Infrastrutture tecnologiche La tecnologia dei data base relazionali è adeguata nella maggior parte di applicazioni che gestiscono fino ad alcuni gigabyte di dati . Per applicazioni di dimensioni maggiori bisogna trovare soluzioni alternative (processori paralleli) per raggiungere tempi di processamento utili.