Introduzione al Data Mining Differenze nell`analisi
Transcript
Introduzione al Data Mining Differenze nell`analisi
Archivi di dati = “Tombe” di dati ? La necessità è la madre delle invenzioni La capacità di raccogliere e memorizzare dati ha largamente superato la capacità umana di analizzarli !! Introduzione al Data Mining "! Strumenti di raccolta automatica dei dati, maturità della tecnologia database #! Enormi quantità di dati memorizzati e disponibili distanza crescente fra la generazione dei dati e la loro comprensione Potenzialità, Tecniche e Progetti Siamo assetati di conoscenza ma anneghiamo nei dati Tuttavia, i dati contengono informazioni di grande interesse economico, sociale e scientifico: !! !! Convegno: ICT 4 Value – Creare Valore dai Dati (29/06/2009) "! la ricerca nel Data Mining (DM) ha come scopo la progettazione Prof. Gianluca Moro DEIS - Università di Bologna [email protected] di strumenti per trasformare i dati in informazione Data Mining per recuperare i costi del Data Warehousing !! "! Integrazione, analisi/sintesi ed estrazione di conoscenza Via Venezia 52 - 47023 Cesena Tel. +39 0547 339 237 - Fax 208 Gianluca Moro A quali domande risponde il DM (i) !! Da cosa è influenzata la vendita di un certo prodotto ? Quali fattori attraggono nuovi clienti ? !! Quali informazioni sono rilevanti per stabilire se un nuovo cliente sarà un buon cliente ? !! Quale altro prodotto proporre all’atto di un acquisto ? !! Qual è il rischio che corro a fronte di un investimento ? !! Quali sono le correlazioni tra i fenomeni che caratterizzano la mia realtà aziendale ? Frodi fiscali: quali sono le caratteristiche di aziende/persone !! In quali macro gruppi si suddividono i miei clienti ? "! Customer acquisition "! Risk analysis "! Performance analysis !! che fanno evasione fiscale ? "! Analisi dei bilanci / dichiarazioni dei redditi "! Segmentazione dei clienti Quale prodotto proporre ad un dato cliente ? !! Frodi assicurative: "! Individuazione di gruppi di persone che creano "! Cross-selling (artificialmente) incidenti per ricevere risarcimenti Quali sono i clienti che potrei perdere ? "! Assicurazioni mediche: individuare pazienti che si fingono malati "! Customer retention and churn analysis Gianluca Moro - Introduzione al Data Mining Gianluca Moro 3 Differenze nell’analisi tra Data Warehousing e Data Mining Data Warehousing: !! "! Vorrei visualizzare le vendite di ogni prodotto !! suddivise per punto vendita !! Data Mining: !! "! Vorrei sapere quali sono le caratteristiche dei punti vendita con redditività alta Nel primo caso l’utente sa già quello che cerca !! Nel secondo caso vuole scoprire la causa di un effetto !! Gianluca Moro - Introduzione al Data Mining !! !! 5 - Introduzione al Data Mining 4 Problemi tipici di Data Mining: La catena commerciale Midwest !! !! 2 "! Up-selling !! !! Introduzione al Data Mining A quali domande risponde il DM (ii) "! Market Basket Analysis !! - Negozi di vendita al dettaglio e dati sulle vendite Cosa si è scoperto? i clienti (in prevalenza uomini) che acquistano pannolini il giovedì e il sabato sono propensi ad acquistare anche birra Un’analisi piú accurata mostró che questi acquirenti concentravano i loro acquisti maggiormente il sabato e marginalmente il giovedí Si concluse che la birra veniva prob. acquistata per il weekend. Come sfruttare il risultato? Decisione: spostamento del cartello delle birre vicino a quello dei pannolini assicurandosi di non applicare sconti su quei prodotti il giovedì e il sabato.! Gianluca Moro - Introduzione al Data Mining 6 Problemi tipici di Data Mining: Corriere espresso !! !! !! !! !! !! !! !! Problemi tipici di Data Mining: Le Mucche della nuova Zelanda !! diversi percorsi di consegna risultano più lenti di altri fattori critici: traffico, tipologia delle strade, autista .... ma vi sono percorsi che a parità di fattori critici sono comunque sempre più lenti di altri Cosa si è scoperto ? un nuovo fattore critico: il numero di svolte a sinistra i percorsi più lenti hanno un numero mediamente maggiore di svolte a sinistra Come sfruttare il risultato ? inserimento del nuovo fattore nel sistema di ottimizzazione dei percorsi e ricalcolo degli itinerari! !! !! !! !! Gianluca Moro - Introduzione al Data Mining Gianluca Moro 7 Problemi tipici di Data Mining: Gli agricoltori statunitensi il dipartimento dell'agricoltura degli Stati Uniti ogni anno eroga indennizzi per danni da maltempo a centinaia di migliaia di agricoltori" !! una frazione delle richieste di indennizzo è fraudolenta" !! un'analisi a campione delle richieste per verificarne l'autenticità ha un costo molto elevato rispetto alla resa" !! un progetto di data mining volto a individuare le frodi ha reso oltre venti volte il suo costo - - Introduzione al Data Mining 8 Problemi tipici di Data Mining: Università (negli USA) !! Gianluca Moro Ogni anno, gli allevatori caseari in Nuova Zelanda devono prendere una difficile decisione: quali capi tenere nell'allevamento e quali vendere per la macellazione Un quinto dei capi degli allevamenti è abbattuto ogni anno alla fine della stagione del latte, quando il foraggio inizia a scarseggiare La storia di produzione di vitelli e di latte di ogni bovino influenza questa decisione, insieme ad età, salute, storia, comportamento etc. Sono stati registrati circa 700 attributi per milioni di capi Come estrarre da questi dati la conoscenza implicita nelle decisioni degli allevatori di maggior successo ? Introduzione al Data Mining !! !! !! !! !! !! Ogni anno le Università statunitensi ricevono domande di ammissione da parte di studenti Gli studenti forniscono una serie di dati sulla carriera scolastica e personali Obiettivo: scegliere gli studenti migliori, ossia che completeranno gli studi con ottimi voti e senza ritardi Dalla storia degli studenti che hanno già completato gli studi individuare le caratteristiche di quelli migliori A partire da queste caratteristiche stimare voto finale e ritardo alla laurea per ogni studente candidato Progetto sperimentale simile con AlmaLaurea s.r.l "! Stima della fascia di voto e ritardo per gli studenti che dalla laurea triennale si iscrivono alla specialistica Gianluca Moro 9 Knowledge Discovery - Introduzione al Data Mining 10 Il Processo di Knowledge Discovery Interpretation and Evaluation The nontrivial extraction of implicit, previously unknown and potentially useful information from data Data Mining Knowledge Selection and Preprocessing p(x)=0.02 W. Frawley, G. Piatetsky-Shapiro, and C. Matheus: “Knowledge Discovery in Databases: An Overview”. AI Magazine, Fall 1992, pgs 213-228 Data Consolidation Patterns & Models Warehouse Prepared Data Consolidated Data Data Sources Gianluca Moro - Introduzione al Data Mining 11 Gianluca Moro - Introduzione al Data Mining 12 Tecniche e Algoritmi di DM (ii) Tecniche e Algoritmi di DM (i) !! !! !! UNSUPERVISED LEARNING Partono da un insieme di osservazioni: prodotti, vendite, clienti, pazienti, studenti... Ogni osservazione è caratterizzata da un insieme di attributi: vendite(prodotto, mese, cliente, num_ordini, zona, ... ) !! paziente(età, sesso, risultato di un certo esame clinico) !! Att1 Att2 Att3 Att4 Att5 0.54 Giallo Y 123 … 0.89 Rosso N 5734 … 2 Verde N 8944 … - •! CLUSTERING $! Scopre i cluster (raggruppamenti) di osservazioni/righe simili tra di loro Utilizzato per segmentare i clienti •! CLASSIFICAZIONE $! Predice il gruppo di appartenenza di un’osservazione Per riconoscere i clienti che stanno per abbandonare l’azienda Introduzione al Data Mining •! SERIE TEMPORALI $! Prevede l’andamento di un certo valore Gianluca Moro - Introduzione al Data Mining 14 Regole Associative: Supporto e Confidenza Transazione "! insieme di elementi (item) acquistati congiuntamente !! Supporto di una regola ( | X U Y | / | T | ) "! È la percentuale di transazioni che contengono sia X che (quello che si trova in un carrello della spesa) !! Fare stime numeriche: es. Quanto sarà l’incasso di oggi, nota la data e le condizioni meteo ? SUPERVISED LEARNING 13 Regole Associative (i) !! Utilizzato per analizzare gli acquisti in un supermercato •! REGRESSIONE $! Stima il valore di un attributo numerico di un’osservazione •! Scoprono informazioni relative alle osservazioni in input •! Correlazioni tra valori in colonne diverse •! Correlazioni tra osservazioni/righe diverse Gianluca Moro Esempi •! REGOLE ASSOCIATIVE $! Scopre le correlazioni tra colonne Y sul totale delle transazioni esistenti es: (il 40% delle transazioni natalizie include panettone e champagne) Regola Associativa "! dato un insieme di item I e un insieme di transazioni !! Confidenza di una regola (| X U Y| / |X|) "! È la percentuale di transazioni che contengono sia X che D, una regola associativa del tipo X ! Y (X implica Y) (con X,Y " I e X # Y = $) è un’implicazione Y rispetto alle transazioni che contengono almeno X es: (a Natale, l’80% delle persone che comprano champagne comprano anche il panettone) chi compra X compra anche Y !! Problema: "! determinare tutte le regole associative che abbiano supporto almeno pari a MINSUPP e confidenza almeno pari a MINCONF Gianluca Moro - Introduzione al Data Mining Gianluca Moro 15 !! La regola A ! C ha Transaction "! Supporto pari al 50%, ID perché {A C} compare in 2 100 transazioni su 4 "! Confidenza pari al 66%, perché su 3 200 transazioni in cui compare A, in due 300 compare anche C La regola C ! A ha "! Supporto pari al 50% "! Confidenza pari al 100% Gianluca Moro - 400 16 Trova le regole che hanno noccioline nel conseguente " "! possono essere usate per capire quali prodotti il supermercato Items deve comprare per favorire la vendita di noccioline" !! Trova le regole che hanno noccioline nell#antecedente" "! può prevedere quali prodotti possono subire una riduzione delle ABC vendite se il supermercato decide di non vendere più noccioline" !! AC Trova le regole che hanno noccioline nell#antecedente e birra nel conseguente" "! può servire per capire quali altri prodotti oltre alle noccioline servono per favorire la vendita di birra (e.g. pannolini per bambini – vedi dopo)" AD !! !! Introduzione al Data Mining Regole Associative: Utilità Supporto e confidenza: Esempio !! - Trova le regole che riguardano item delle corsie 10 e 11 " "! possono essere usate ai fini di una migliore organizzazione dei BEF prodotti nelle corsie ! !! Trova le regole più interessanti" "! Ad esempio regole con maggiore confidenza e/o supporto" Introduzione al Data Mining 17 Gianluca Moro - Introduzione al Data Mining 18 Il Clustering: individuazione di dati omogenei !! !! Il Clustering: individuazione di dati omogenei mentre la classificazione ha il preciso scopo di predire fenomeni di interesse, ad esempio il comportamento di clienti ignoti lo scopo del clustering è fare emergere regolarità nei dati senza supervisione: !! "! un insieme di N oggetti di d-dimensioni !! dati in k clusters "! proprietà desiderate nei cluster: •! Gli oggetti nello stesso cluster sono simili # massimizzata la similarità intra-cluster •! Gli oggetti in cluster diversi sono dissimili # minimizzata la similarità inter-cluster "! gruppi che mostrano certe regolarità, che condividono certe caratteristiche, che spontaneamente si presentano come entità compatte, con un loro profilo "! ad esempio il clustering serve a descrivere i clienti noti, evidenziando gruppi di simili La predizione sui casi ignoti è che ognuno si comporterà come quelli del cluster a cui appartiene Gianluca Moro - Introduzione al Data Mining compito: "! determinare un partizionamento dell'insieme di "! aiutarci a capire che esistono dei gruppi non casuali !! dati: Gianluca Moro 19 Clustering: pacchi poste (tedesche) - Introduzione al Data Mining 20 Clustering: segmentazione di immagini clusterizzazione di immagini satellitari per determinare l’uso del territorio (strade, aree urbane, rurali, foreste laghi/fiumi etc.) !! !! peso vs volume non separano/correlati ma, in media, pacchi alti pesano meno di quelli più bassi Gianluca Moro - !! lunghezza vs peso creano separazioni/cluster diversi Introduzione al Data Mining !! Gianluca Moro 21 Data Clustering: limiti e prospettive !! clusterizzazione di immagini mediche come pre-processing per identificare feature/classi utili in successive classificazioni (e.g. fluido cerebrospinale, materia bianca, tessuti striati, tumori etc.) - Introduzione al Data Mining 22 Principali metodi di clustering La maggioranza degli algoritmi sviluppati prima degli anni 90 non raggiunge molti obiettivi del DM Proprietà ideali di un algoritmo per applicazioni DM: "! Scalabilità, complessità temporale O(n log n) !! partitivi "! K-means (MacQueen 67), expectation maximization (Lauritzen 95), CLARANS (Ng and Han 94) !! "! Trattamento di diversi tipi di dati gerarchici "! Agglomerativi/divisivi, BIRCH (Zhang et al 96), CURE (Guha et al 98) basati sul collegamento (linkage) !! basati sulla densità "! Cluster di forma arbitraria !! "! Basso numero di parametri di input, minima conoscenza a priori "! DBSCAN (Ester et al 96), DENCLUE (Hinnenburg and Keim 98) "! Insensibilità ai dati rumorosi !! "! Riconoscimento degli outlier statistici "! IBM-IM demographic clustering, COBWEB (Fisher 87), Autoclass "! Insensibilità all’ordine dei dati (Cheeseman 96) "! Efficienza e accuratezza in caso di dimensionalità elevata Gianluca Moro - Introduzione al Data Mining 23 Gianluca Moro - Introduzione al Data Mining 24 K-means K-means 1.! chiedi all'utente quanti clusters vuole (e.g. k=5) 1.! chiedi all'utente quanti clusters vuole (e.g. k=5) 2.! scegli a caso k posizioni come Centri Gianluca Moro - Introduzione al Data Mining 25 1.! chiedi all'utente quanti clusters vuole (e.g. k=5) 1.! 3.! 3.! ogni punto trova quale è il suo Centro più vicino 4.! Gianluca Moro - Introduzione al Data Mining 4.! 5.! 6.! 26 Gianluca Moro - Introduzione al Data Mining 28 scegli a caso k posizioni come Centri ogni punto trova quale è il suo Centro più vicino ogni Centro trova il centroide dei punti che possiede… 27 K-means 3.! Introduzione al Data Mining chiedi all'utente quanti clusters vuole (e.g. k=5) 2.! 2.! scegli a caso k posizioni come Centri 2.! - K-means K-means 1.! Gianluca Moro K-Means: obiettivo chiedi all'utente quanti clusters vuole (e.g. k=5) !! l’obiettivo è minimizzare la varianza totale intracluster (o la deviazione standard) !! dove k è il numero di cluster Si , per i = 1, 2, ..., k, è l’insieme dei punti del cluster i-esimo !i è il centroide di Si (i.e. media delle coordinate dei punti xj appartenenti a Si ) scegli a caso k posizioni come Centri ogni punto trova quale è il suo Centro più vicino ogni Centro trova il centroide dei punti che possiede… !! …e si sposta nel centroide !! …ripeti da 3 fino al termine Gianluca Moro - Introduzione al Data Mining 29 Gianluca Moro - Introduzione al Data Mining 30 Commenti su K-Means !! Clustering basato sulla densità Punti di forza "! relativamente efficiente: O(tkn), dove n è il numero di oggetti, k il numero di cluster e t il numero di iterazioni; normalmente k,t <<n "! spesso termina con un ottimo locale. L'ottimo globale può essere trovato con tecniche come deterministic annealing e algoritmi genetici !! Punti di debolezza "! applicabile soltanto in spazi in cui è definibile la I cluster sono regioni ad alta densità, separati da regioni a bassa densità media; che fare ad esempio con dati categorici? "! occorre fissare a priori k "! non tratta adeguatamente dati con rumore e outlier "! inadatto a scoprire cluster con forme non convesse Gianluca Moro - Introduzione al Data Mining Gianluca Moro 31 - Introduzione al Data Mining 32 Algoritmi basati su Kernel Density Estimation Algoritmi density-based Regioni dello spazio la cui densità stimata è alta contengono oggetti omogenei !! Algoritmo !! Calcola una stima di densità del dataset S per individuare concentrazioni di dati 2.! Raggruppa in un unico cluster gli oggetti contenuti nella stessa regione, ad alta densità, connessa e massimale rispetto a un criterio 1.! Gianluca Moro - Introduzione al Data Mining Data Set Gianluca Moro 33 Generalizza i metodi partitivi, gerarchici e basati sulla località !! Prestazioni superiori in database con piú di 10 dimensioni (fattore di qualche decina rispetto a DBSCAN) e con grandi quantità di rumore (50%), caratteristiche dei database multimediali !! Applica il clustering solo alle regioni piú densamente popolate !! Basato sugli attrattori di densità, ovvero massimi locali della funzione densità !! Complessità O(n log n) nel caso peggiore. Sperimentalmente si osservano prestazioni molto superiori Introduzione al Data Mining - Introduzione al Data Mining 34 DENCLUE (ii) !! - Density Function Influence Function: influenza di un punto nel suo vicinato Density Function: somma delle influenze di tutti i punti Density Attractor: massimi locali della density function DENCLUE: algoritmo KDEbased (i) Gianluca Moro Influence Function 35 !! Lo stimatore kernel è definito da !! K è una funzione (kernel) che soddisfa !! Il parametro h (ampiezza di finestra, smoothing) determina la regolarità della stima Gianluca Moro - Introduzione al Data Mining 36 DENCLUE (iii) !! !! !! !! KDE: esempi di cluster di forma arbitraria (i) Algoritmo DENCLUE (semplificato) Input: funzione kernel K, reale % Calcola la stima di densità kernel con K Ripeti finché sono disponibili oggetti in input "! Leggi oggetto e memorizzalo in x "! Traccia la curva di massima pendenza nel grafico della stima, da x a un massimo locale "! Associa x al massimo locale "! Per ogni massimo locale, raccogli in un unico cluster tutti gli oggetti associati al massimo locale "! Elimina i cluster determinati da un massimo locale con densità inferiore a% "! Unisci i cluster i cui massimi locali possone essere collegati da un percorso con stima non inferiore % Figura da: Alexander Hinneburg, Daniel A. Keim: An Efficient Approach to Clustering in Large Multimedia Databases with Noise. KDD 1998: 58-65 Gianluca Moro - Introduzione al Data Mining Gianluca Moro 37 KDE: esempi di cluster di forma arbitraria (ii) - Introduzione al Data Mining 38 Classificazione SCOPO: Date delle osservazioni etichettate (con un attributo categorico), addestrare una macchina ad etichettare nuove osservazioni (in cui l’attributo non è noto) 1.! Training del modello %! Figura da: Alexander Hinneburg, Daniel A. Keim: An Efficient Approach to Clustering in Large Multimedia Databases with Noise. KDD 1998: 58-65 1 Training set 2.! red 0.4 G1 1.3 blue 0.3 G1 1.1 red 1.3 G2 0.1 blac 0.3 k G3 MODEL Utilizzo del modello per la predizione 1.4 red 0.9 G2 ? CLASSIFICAZ Gianluca Moro - Introduzione al Data Mining 39 red 0.4 G1 1.3 blue 0.3 G1 1.1 red 1.3 G2 0.1 black 0.3 G2 1.4 red 0.9 G1 0.8 blue 0.9 G2 1.8 blue 0.1 G1 Gianluca Moro - Introduzione al Data Mining 41 Esempio: prevedere i potenziali abbonati ad una rivista Classificazione: Misurare l’errore (hold out) 1 IONE G2 G2 Training set MODEL G1 Correct = 67% Test set Fingiamo di non conoscere le label delle osservazioni del test set Gianluca Moro - Introduzione al Data Mining 42 Gianluca Moro - Introduzione al Data Mining 43 Esempio (iii): scelta dell’attributo radice e dei successivi nodi Esempio: potenziali abbonati (ii) !! tre attributi predittori !! si intende predire la classe subscriptor "! car type, age, number of children Si sceglie iterativamente l’attributo che massimizza il guadagno di informazione (max discriminazione del data set) %! Metodo basato sul calcolo del valore dell’informazione o entropia e sulla multistage decision property %! Entropy(p1, p2, … , pN) = -p1 log p1 -p2 log p2 … - pN log pN %! Fissato un attributo, es: car type, e un suo valore, es: sports, p1 è la percentuale di osservazioni/item della classe Yes e p2 della classe No %! Gianluca Moro - Introduzione al Data Mining Alberi di decisione e generazione di regole !! Gianluca Moro 44 - 45 Introduzione al Data Mining Esempio di copertura Gli alberi di decisione lavorano top down "! a ogni stadio si cerca l'attributo di split migliore e si procede ricorsivamente !! Alternativa !! "! data una classe trovare il modo per coprirne tutte "! il primo test lascia ancora parecchi b le istanze "! generazione di regole algoritmo di copertura Gianluca Moro - Introduzione al Data Mining coprire le a "! il secondo isola tutte le a tranne una •! se x > 1.2 e y > 2.6 allora la classe è a !! in modo analogo si può coprire b 46 Gianluca Moro %! il comportamento sembra simile, ma SCOPO: Dato un insieme di osservazioni e un attributo numerico target, addestrare una macchina ad indovinare l’attributo target di una nuova osservazione, di cui si conoscono tutti gli altri attributi "! le regole si focalizzano su una - Introduzione al Data Mining Training set singola classe "! l'albero ha un approccio più globale, cercando di massimizzare la purezza globale dello split "! le regole possono essere simmetriche, l'albero deve obbligatoriamente scegliere un ordine per gli attributi di split, questo può generare alberi molto grandi Gianluca Moro 47 Introduzione al Data Mining Regressione Regole vs alberi di decisione !! - ALTEZZ A PESO SESSO 165 60 M 167 52 F 179 80 M 181 61 F 172 48 ? Gianluca Moro M - Introduzione al Data Mining MODEL 70 49 Validazione del modello: Come e Cosa Valutare Regressione (ii) %! %! Regressione lineare (metodo dei minimi quadrati), ... Regression Decision tree: %! analogo a Decision Tree, ma ad ogni split si cerca di minimizzare la varianza all’interno di ciascun nodo figlio !! classificazione "! qualità del classificatore "! compattezza ... !! clustering "! qualità dei cluster "! coerenza interna Regressione lineare tra il numero dei dipendenti del 2007 e 2008 in aziende della Romagna "! separazione !! regole associative "! confidenza "! supporto Gianluca Moro - Introduzione al Data Mining Gianluca Moro 50 !! !! !! !! !! valutare l'affidabilità delle predizioni confrontare l'efficacia di diversi classificatori metodo holdout rapporto tipico 2/3 - 1/3 metodo k-fold cross-validation !! partizione in k sottoinsiemi, iterativamente k volte uno è usato come test, gli altri come training !! l'accuratezza globale è il numero di classificazioni corrette complessivo diviso il numero di campioni iniziali !! la divisione e la stratificazione possono essere approssimative !! valore tipico (empirico) di k è 10 fa in modo che nei due insiemi di training e test le classi siano rappresentate allo stesso modo Gianluca Moro - Introduzione al Data Mining 51 !! una classe potrebbe essere sotto-rappresentata nel training set questo potrebbe distorcere i risultati holdout stratificato !! Introduzione al Data Mining Cross-validation Accuratezza della classificazione !! - 52 Gianluca Moro - Introduzione al Data Mining 53 Data Mining Distribuito (DDM) Data Clustering Avanzato !! Dataset "! Enormi dimensioni "! Inerentemente distribuiti !! Reti "! Larghezza di banda limitata "! Risorse computazionali o di storage dei nodi limitate !! Privacy & sicurezza "! Dati sensibili "! Condivisione di obiettivi, non di dati Gianluca Moro - Introduzione al Data Mining 55 Data Clustering Distribuito Soluzione centralizzata Applicazione di algoritmi tradizionali di DM ai dati recuperati da sorgenti distinte e memorizzati in data warehouse !! Non conveniente o impossibile in numerose applicazioni !! "! Autonomia delle sorgenti (competizione) "! Privacy "! Scalabilità (limiti di rete, calcolo, storage etc. rispetto alla quantità di dati) Gianluca Moro - Introduzione al Data Mining 56 Esempi di Data Mining Distribuito !! !! Introduzione al Data Mining Obiettivo (eventualmente infinito) garantendo una soglia max al num. di operazioni !! Velocità vs accuratezza !! DeStream: Idea di base "! rendere trascurabile il num. di errori indagini epidemiologiche: "! Un’epidemiologa è interessata a studiare l’influenza delle "! Il dato/punto cade in una griglia multi-dimensionale variazioni meteorologiche sulle infezioni di epatite C in relazione al territorio "! L’epidemiologa ha accesso a due grandi database, uno sull’epatite C al Centre for Disease Control and Prevention (CDC) e l’altro sull’ambiente all’Evironmental Protection Agency, in località geografiche diverse "! Copiare entrambi i database in un unico sito non è possibile "! ricalcolo della densità dei punti della griglia all’interno di idem per istituti bancari, finanziari, multi-nazionali... Gianluca Moro - Introduzione al Data Mining 57 "! clusterizzare un flusso di dati multi-dimensionale fraudolente su scala nazionale/internazionale "! condividono gli obiettivi ma non i dati perché sono sensibili e rappresentano un patrimonio aziendale (competizione comm.le) "! raccogliere i dati in un server centrale non è consentito !! - Stream Data Clustering organizzazioni assicurative autonome: "! interesse a cooperare per riconoscere e prevenire richieste !! Gianluca Moro un’iper-sfera di raggio parametrizzabile in base alle prestazioni richieste "! aggiornamento del clustering all’interno dell’ipersfera !! Applicazioni: "! stream delle transazioni con carte di credito "! sistemi di monitoraggio evoluti Gianluca Moro 58 - Introduzione al Data Mining 59 Azienda, Obiettivo e Data Set Caso Aziendale !! Azienda del settore agrario "! 30 agenzie distribuite sul territorio romagnolo "! vendita di concimi, fitofarmaci, sementi, ma anche carburanti e attrezzature "! circa 90MEuro / anno "! Progetto: prevedere l’abbandono di clienti !! Data set sulle vendite: "! circa 18000 clienti "! oltre 500000 record all’anno "! tabella con vendite dal 2003 al 2007 •! vendite(cod_cliente, data_acquisto, valore) "! assenza dal data set dell’anagrafe clienti •! -> nessun dato sui clienti, ma solo un codice interno Gianluca Moro - Introduzione al Data Mining 61 Trasformazioni del Data Set (i) Analisi e selezione dei dati !! !! !! definizione di abbandono: !! modifiche del tracciato record del dataset originario: "! quando il cliente non acquista nulla per almeno un anno L’intervallo di osservazione considerato è molto esteso (64 mesi) Il numero di osservazioni relative ad ogni cliente è molto vario "! vi sono clienti storici attivi nei 64 mesi di acquisti "! ma anche diversi clienti occasionali con meno di 5 acquisti "! frequenze e volumi di acquisto diversi !! Il periodo di osservazione a cui si riferiscono i dati può variare profondamente da cliente a cliente "! clienti che hanno primo e ultimo acquisto in mesi e anni diversi !! selezione dei clienti con almeno 12 mesi di acquisti Gianluca Moro - Introduzione al Data Mining . Trasformazione del Data Set (ii) !! Gianluca Moro 62 - Introduzione al Data Mining 63 Accuratezza con Decision Tree J48 Dalle differenze nel data set costruire un tracciato che: "! sia rappresentativo dell’intero periodo di osservazione "! consenta di omogeneizzare tracciati di clienti con periodi di osservazione di diversa durata "! permetta di sintetizzare la storia di ogni cliente !! !! !! Restrizione dell’analisi a clienti con almeno 12 mesi di acquisti (circa 12000) Selezione di un campione casuale di 1982 osservazioni (16.5%): 50% fedeli (F) e 50% persi (A) ogni osservaz. è costituita da 4 variabili su 12 mesi: "! vendite_Mesei, Mesei, meseRelativoi, numVenditeMesei "! con i tra 1 (più recente) e 12, perciò 48 variabili per osserv. matrice di confusione: veri e falsi neg/pos "! nei tracciati di abbandono 1 è l’ultimo mese prima dello abbandono; negli altri è un mese scelto casualmente Gianluca Moro - Introduzione al Data Mining Riduzione della dimensionalità (i) !! Gianluca Moro 64 !! "! Valutatore: CfsSubsetEval "! Metodo di ricerca: GeneticSearch Introduzione al Data Mining 65 Riduzione della dimensionalità (ii) !! Parametri di attribute selection: - l’albero si riduce da 373 nodi a 27 nodi Si ottengono accuratezze equivalenti nonostante siano utilizzati solo 10 attributi: "! J48: 79.76% VS 80,12% !! Dai 48 attributi si selezionano solo i seguenti 10: "! J48 Graft: 79.96% VS 80,57% "! Jrip: 81.08% VS 81.89% "! Bayes Net: 83.20% VS 76.69% "! … Gianluca Moro - Introduzione al Data Mining 66 Gianluca Moro - Introduzione al Data Mining 67 Rigenerazione del modello senza i Missclassified !! !! !! Rimozione delle osserv. classificate erroneamente Rigenerazione del modello senza errori (solo 3 nodi) Test su tutti i dati, compresi quelli rimossi: Ricampionamento nel data set !! Resample della stessa numerosità del dataset, con reimbussolamento, perciò con duplicati !! Tecnica: Utilizzare i dati replicati per ovviare, almeno in parte, ai problemi legati all’elevata variabilità del dataset instabilità dei decision tree !! Parametri "! J48: 89.76% vs 80,12% "! J48 Graft: 89.86% vs 80,57% "! Jrip: 84.66% vs 81.89% "! Bayes Net: 63.67% vs 76.69% Gianluca Moro - Introduzione al Data Mining Gianluca Moro 68 Introduzione al Data Mining 69 Bagging Ricampionamento: risultati !! !! - Risultati migliori fino a 10 punti perc.: "! J48: 90.76%VS VS 80,12% !! "! J48 Graft: 91.12% VS 80,57% !! "! Jrip: 85.92% VS 81.88% Tecnica che combina più modelli di classificazione appresi da n campioni (con duplicati) del data set originale Parametri: XXX è il classificatore I risultati ottenuti sono i migliori in assoluto: "! J48: 91.17% VS 80,12% "! J48 Graft: 91.42% VS 80,57% "! Bayes Net: 75.63% VS 76.69% "! Jrip: 90.31% VS 81.887% "! Bayes Net: 75.78% VS 76.69 !! Gianluca Moro - Introduzione al Data Mining 70 Senza gli attributi dell’ultimo mese l’accuratezza diminuisce di circa 10 punti perc. (> 80%). Gianluca Moro - Introduzione al Data Mining 71 CRISP-DM Metodologie e Standard CRoss-Industry Standard Process for Data Mining 73 CRISP Standardization Perché un processo standard di DM ? !! Iniziativa !! !! !! !! !! avviata a fine 1996 da tre compagnie veterane del data mining: L’idea è che il processo di data mining sia affidabile e ripetibile anche da persone con poco background sul data mining fornisce un framework per pianificare e gestire le attività di progetti "! Daimler Chrysler (then Daimler-Benz), SPSS (then ISL), NCR !! Sviluppato e raffinato attraverso una serie di conferenze dal 1997 al 1999 di 300 organizzazioni hanno contribuito a raffinare il modello !! Pubblicazione della prima versione CRISP-DM 1.0 (1999) !! oltre 200 membri nel mondo nello special group of interest CRISP-DM SIG !! più anche metodo per documentare riduce la dipendenza da esperti del settore neutro rispetto alle piattaforme di data mining "! DM Vendors - SPSS, NCR, IBM, SAS, SGI, Data Distilleries, Syllogic, etc. "! System Suppliers / consultants - Cap Gemini, ICL Retail, Deloitte & Touche, etc. "! End Users - BT, ABB, Lloyds Bank, AirTouch, Experian, etc. Gianluca Moro - Introduzione al Data Mining Gianluca Moro 74 CRISP-DM: Phases - Introduzione al Data Mining Introduzione al Data Mining 75 Standard per il Data Mining !! Business Understanding "! Project objectives and requirements understanding, Data mining problem definition !! Data Understanding "! Initial data collection and familiarization, Data quality problems identification !! Data Preparation "! Table, record and attribute selection, Data transformation (Discretization, binarization etc.) and cleaning !! Modeling "! Modeling techniques selection and application, Parameters calibration !! Evaluation "! Business objectives & issues achievement evaluation !! Deployment "! Result model deployment, Repeatable data mining process implementation Gianluca Moro - OMG CWM DM SQL/MM Pt. 6 DM Object model for representing data mining metadata: models, model results (UML/DTD/XML) DMG PMML SQL-like interface for data mining OLE DB operations (OLE DB/SQL) for DM Representation of data mining models for intervendor exchange Java API for defining, (DTD/XML) JSR-073 creating, applying, and JDM obtaining their results of data mining models (Java) Gianluca Moro 76 SQL objects for defining, creating, and applying data mining models, and obtaining their results (SQL) - Introduzione al Data Mining 77 Gruppo Informatica Referente DEIS: Gianluca Moro Dipartimento di Elettronica Informatica e Sistemistica Altri Progetti e Attività di Ricerca Il progetto %!nasce dall’esigenza di rilevare e misurare le principali dinamiche economiche del territorio, attraverso l’ampia mole di informazioni e dati provenienti da fonti locali, nazionali ed internazionali, con l’impiego di tecniche innovative di data mining. %!SiMET mira ad offrire un sistema di indicatori economici che permettano di monitorare e valutare le variabili strutturali e congiunturali dell’economia locale attraverso una accurata scomposizione dei fattori chiave. Obiettivi %!Individuazione, digitalizzazione, aggiornamento e verifica delle basi dati della Camera di Commercio. di fenomeni rilevanti e definizione dei relativi panel di indicatori. %!Condivisione del sistema con gli altri Enti Istituzionali del Territorio per ampliare le basi dati di riferimento e individuare azioni locali ad ampio raggio. %!Individuazione/Scoperta Metodologie, Modelli e Tecnologie &! Progettazione &! e realizzazione del data warehouse: processi di importazione e cleaning dei dati, modellazione multidimensionale, set di datamart, definizione di algoritmi di mantenimento incrementali a consistenza completa etc. &! Progettazione e sviluppo di sistemi web per la navigazione e l’elaborazione degli indicatori. &! Impiego e definizione di algoritmi di data mining per il knowledge discovery PANEL DI INDICI SINTETICI AMBIENTE E TERRITORIO POPOLAZIONE LAVORO IMPRENDITORIALITÀ SOCIETÀ E ISTITUZIONI …………. ALMA MATER STUDIORUM UNIVERSITA’ DI BOLOGNA DEIS, SEDE Gianluca Moro DI- CESENA Introduzione al Data Mining INNOVAZIONE 79 Alcuni casi aziendali (i) !! Alcuni casi aziendali (ii) Zuccherificio di importanza nazionale (oltre 200 MEuro/ anno) !! !! !! !! Perché gli Zuccherifici Francesi e Tedeschi sono più competitivi di quelli italiani ? Obiettivi: Azienda del settore agrario "! 30 agenzie distribuite sul territorio romagnolo "! vendita di concimi, fitofarmaci, sementi, ma anche carburanti e attrezzature "! migliorare la resa agronomica delle barbabietole "! Oltre 500000 record all’anno "! aumentare la resa industriale (quantità di zucchero estratta) "! circa 90MEuro / anno Progetto: "! Progetto: prevedere l’abbandono di clienti "! a partire da dati agronomici, pedologici,climatici,produttivi.... "! Scoprire quali interventi deve eseguire l’agricoltore dalla !! semina al raccolto per aumentare la resa agronomica "! Scoprire quali modifiche fare al processo industriale per aumentare la quantità di zucchero estraibile !! "! il principale corriere espresso a capitale tutto italiano, 100 terminali in tutta italia, Milioni di record all’anno "! Progetto: Fase preliminare: •! Individuare indicatori di qualità dei terminali •! estrarre modelli per anticipare congestioni nei terminal •! individuazione delle cause di congestione "! quanto incide nella resa il clima, la qualità pedologica del terreno e il tipo di barbabietola seminata ? Gianluca Moro - Introduzione al Data Mining Gianluca Moro 80 Alcuni casi aziendali (iv) !! Fornitore di prodotti e servizi professionali per l’igiene della persona, degli ambienti, degli alimenti e dell’aria clienti: "! Ristorazione, Alberghiero, Industriale,Medicale Estetico, Imp Rete di distribuzione: in collaborazione con il gruppo di Bioingegneria Univ. di Bologna e il Dipartimento Interaziendale di Oncologia (AUSL Forlì) !! 23% di tutti i tumori femminili ed è in aumento, 12% delle donne in U.S. (2002 - National Center for Health Statistics) tasso di sopravvivenza del 73% (regioni sviluppate) recentemente la risonanza in senologia ha mostrato accuratezza diagnostica superiore alla mammografia ed ecografia (68% - 79%) Sviluppo di nuove metodologie di diagnosi mediante tecniche di data mining innovative: !! "! Sito web e-commerce, Rete di Partner sparsi sul territorio !! italiano, Rappresentanti e Consegnatari per le zone dell’Emilia Romagna !! Introduzione al Data Mining %! rese di pulizia, Uffici direzionali e Professionali !! - 81 Diagnosi automatica del carcinoma al seno da dati di risonanza magnetica "! circa 4MEuro di fatturato !! Corriere espresso italiano Progetto: "! progettazione e sviluppo del data warehousing e data mining !! "! obiettivi: customer retention, acquisition, segmentazione della clientela "! che sfruttino l’informazione contenuta nelle immagini 3D "! che forniscano misure dell’affidabilità della previsione Gianluca Moro - Introduzione al Data Mining Progetto: Predizione di Battiti Cardiaci Pre-Ectopici %! !! !! 84 BotNets eseguire in modo coordinato e distribuito cyber-attacks come DoS o spam "! Estremamente difficile bloccare questi attacchi distribuiti con le attuali strategie di prevenzione individuale Possibili cause: aritmie cardiache, emodialisi Piccola scarica elettrica poco prima (max 1-2 battiti) di un battito ectopico previene il battito ectopico stesso Problema: !! BotNet Detection Systems (BDS): nuovo approccio "! Creare una rete P2P dove ogni peer genera modelli di mining locali dal proprio traffico per scoprire anomalie "! Come distinguere questi battiti da quelli non pre-ectopici ? "! ogni peer condivide il proprio modello affinché la rete P2P Il data set: "! Data set: 10 pazienti in emodialisi, 97 attributi per ogni battito, 1 ora di 10 tracciati contiene 97*80*60*10 & 5.000.000 valori "! Idea: nuovi attributi calcolati (min, max, stddev etc.) e aggregazione di una finestra scorrevole di k battiti prima dell’ectopico !! Introduzione al Data Mining "! Ampia rete di calcolatori “infettati/compromessi” per "! i battiti pre-ectopici sono battiti normali con forme d’onda usuali !! - BotNets & Data Mining Distribuito Battiti extrasistoli (ectopici) possono causare fibrillazione o danni al cuore %! !! Gianluca Moro 83 Scoperta: l’onda T dei pre-ectopici è impercettibilmente diversa dai non pre-ectopici – con un solo attributo accuratezza del 94% generi della conoscenza globale integrando modelli locali "! La conoscenza globale viene ridistribuita a ciascun nodo che può così scoprire (i.e. classificare/clusterizzare etc) pattern di attacchi che non avrebbe riconosciuto …. "! …ma anche prevenire tipi di attacchi non ancora ricevuti "! (Cavalcanti, Moro, Samorani et. al. IEEE Computer in Cardiology 2008) Gianluca Moro - Introduzione al Data Mining 85 Gianluca Moro - Introduzione al Data Mining 86 Data Mining e reti di Sensori On-Body: Riconoscimento di Attività Umane !! Approccio: Sensori wireless distribuiti sulle articolazioni !! Dove interviene il data mining e perché ? (stream DM) "! accelerometro: misure di accelerazioni triassiali "! dalla posizione iniziale e accelerazione, calcola nuova posiz. "! ma .... ogni misura è affetta da errore -> accumulo di errori -> sismici, di maremoti, vulcanici, inquinamento etc.) "! risparmio energetico negli edifici !! continuamente il moto ondoso via satellite !! "! Industriali (tracciabilità dei prodotti, sicurezza), mediche (riabilitazione), sportive, ludiche etc. - Introduzione al Data Mining Gianluca Moro Introduzione al Data Mining !! "! Jiawei Han e Micheline Kamber, Data Mining: Concepts and •! http://www.cs.waikato.ac.nz/ml/weka/ "! RapidMiner (Ingo Mierswa et. al.) •! http://rapid-i.com/index.php?lang=en "! R (The R Foundation for Statistical Computing) •! http://www.r-project.org "! ADaMSoft (Consorzio inter-universitario CASPUR) •! http://adamsoft.caspur.it/ "! Data Mining: Practical Machine Learning Tools and Techniques, Morgan Kaufmann Publishers, ISBN 1-55860-489-8" Techniques (Second Edition) Ian H. Witten,$Eibe Frank,$Morgan Kaufmann, 2005,$ISBN 0-12-088407-0$(contiene riferimenti a Weka) !! "! SQL Server 2005 Analysis Service Database per il data mining disponibili online "! Oracle Data Mining (University of California at Irvine) "! IBM DB2 Intelligent Miner "! SAS, (ACM Special Interest Group on Knowledge Discovery and Data Mining) "! SPSS ….. Gianluca Moro - Introduzione al Data Mining Gianluca Moro 90 Altri rif. bibliografici (i) "! "! "! "! "! "! "! "! "! S. Lodi, G. Monti, G. Moro, C. Sartori. Peer-to-Peer Data Clustering in Selforganizing Sensor Networks. In Intelligent Techniques for Warehousing and Mining Sensor Network Data. HERSHEY, PA: IGI global. S. Lodi, G. Moro, C. Sartori Stream Clustering Based on Kernel Density Estimation. In The 17th European Conference on Artificial Intelligence, Riva del Garda, Italy, 2006. J. Costa da Silva, M. Klusch, S. Lodi and G. Moro, Privacy-preserving agent-based distributed data clustering. Web Intelligence and Agent Systems: An international journal, Vol. 4, No. 3, pp. 1-18, IOS Press, 2006. J. Costa Da Silva, M. Klusch, S. Lodi, G. Moro, Inference attacks in peer-to-peer homogeneous distributed data mining. In the 16th European Conference on Artificial Intelligence (ECAI 2004), IOS Press, Vol. 110, Valencia, Spain, 2004. M. Klusch, S. Lodi, G. Moro. The Role of Agents in Distributed Data Mining. In the 2003 International Conference on Intelligent Agent Technology (IAT'2003), IEEE Computer Society press, Halifax, Canada 2003. ! M. Klusch, S. Lodi, G. Moro. Distributed Clustering Based on Sampling Local Density Estimates. In the Eighteenth biennial International Joint Conference on Artificial Intelligence (IJCAI'2003), Morgan Kaufmann, Mexico, 2003.! M. Klusch, S. Lodi, G. Moro. Issue on agent-based distributed data mining. In the Second International Joint Conference on Autonomous Agents and Multi Agent Systems (AAMAS'2003) ACM, Melbourne, Australia July 2003. Ester, M., Kriegel, H. P., Sander, J., Xu, X. A density-based algorithm for discovering clusters in large spatial databases with noise. In proc. of KDD 1996. Alexander Hinneburg, Daniel A. Keim: An efficient approach to clustering in large multimedia databases with noise. In proc. of KDD 1998 J.B. MacQueen. Some Methods for classification and Analysis of Multivariate Observations, Proceedings of 5-th Berkeley Symposium on Mathematical Statistics and Probability, Berkeley, Univ. of California Press, 1:281-297, 1967 Gianluca Moro - Introduzione al Data Mining - Introduzione al Data Mining 91 Altri rif. bibliografici (ii) Data Mining: "! 89 Testi "! Weka (The University of Waikato, New Zealand) Commerciali !! - Altri riferimenti Open Source !! Con algoritmi di DM in-network la rete di sensori scopre da se il fenomeno di interesse e trasmette in uscita solo il risultato 88 Tecnologie per il Data Mining !! la trasmissione esterna di dati è molto frequente ed elevata per ridurre al minimo i tempi di reazione "! e.g. sensori distribuiti nell’oceano che trasmettono Applicazioni: Gianluca Moro vi sono diverse applicazioni in cui la rete di sensori è sempre attiva: "! monitoraggio ambientale di fenomeni naturali (rilevamenti errori rilevanti nel calcolo della posizione "! tuttavia.... la varietà di movimenti delle singole articolazioni è limitata, inoltre sono possibili sono alcune combinazioni di movimenti contemporanee "! DM: riduzione degli errori di posizione mediante addestramento da database di movimenti pre-esistenti !! reti di sensori passive: "! accensione periodica dei sensori (sincronizzazione con clock), "! rilevamento dati "! trasmissione dati (anche multi-hop) ad un sink esterno "! campionare la posizione degli arti nel tempo "! individuare i movimenti da una sequenza di campioni "! riconoscere dai movimenti l’attività svolta !! DM e reti di Sensori data centriche !! 92 !! Reti di sensori: "! Gabriele Monti, Gianluca Moro: Multidimensional Range Query and "! "! "! "! Load Balancing in Wireless Ad Hoc and Sensor Networks. 8th IEEE International Conference on Peer-to-Peer Computing (P2P 2008), Aachen, Germany, 2008 (20% acceptance rate). G. Monti, G. Moro, S. Lodi: W*-Grid: A Robust Decentralized Cross-layer Infrastructure for Routing and Multi-Dimensional Data Management in Wireless Ad-Hoc Sensor Networks, In the 7th IEEE International Conference on Peer-to-Peer Computing (P2P 2007), Galway, Ireland, 2007 (18% acceptance rate) G. Moro, G. Monti W-Grid: a Cross-Layer Infrastructure for MultiDimensional Indexing, Querying and Routing in Ad-Hoc and Sensor Networks. In the Sixth IEEE International Conference on Peer-to-Peer Computing (P2P 2006), Cambridge, UK, 2006. (19% acceptance rate)! G. Moro, G. Monti and A.M. Ouksel, Routing and Localization Services in Self-Organizing Wireless Ad-Hoc and Sensor Networks Using Virtual Coordinates. In the IEEE International Conference on Pervasive Services 2006 (ICPS 2006), Lyon, France, 2006. G. Monti, G. Moro, C. Sartori: WR-Grid: A Scalable Cross-Layer Infrastructure for Routing, Multi-dimensional Data Management and Replication in Wireless Sensor Networks. LNCS 4331 Springer 2006 Gianluca Moro - Introduzione al Data Mining 93