Introduzione al KDD Il processo KDD I metodi di DM Introduzione al KDD Knowledge Discovery in Databases (KDD): processo automatico di esplorazione dei dati allo scopo di identificare pattern validi, utili, ignoti Data Mining (DM): cuore del processo KDD processo effettuato su insiemi di dati di grandi dimensioni e elevata complessità Data mining: insieme di meccanismi automatici progettati per consentire l’esplorazione di grandi moli di dati alla ricerca di tendenze consistenti e/o relazioni sistematiche tra variabili, e successivamente per validare le scoperte attraverso l’applicazione di comportamenti rilevati su nuovi sottoinsiemi di dati sviluppo e utilizzo di diversi algoritmi per l’esplorazione dei dati Le ragioni del DM e del KDD: accessibilità e abbondanza dei dati in formato elettronico problematiche: lenta capacità di utilizzo delle informazioni rispetto la crescitadella capacità di accumulo di dati (i.e., internet) 1 Caratteristiche del processo KDD Il processo KDD è iterativo e interattivo iterativo perché composto di passi successivi interattivo perché è necessario comprendere il processo e le possibilità di sviluppo a ogni passo iterazione a ogni passo (può essere necessario ripetere alcuni passi prima di completare l’intero processo) non è possibile definire un meccanismo o una formula che sia sempre valida in ogni situazione Nel processo KDD si possono generalmente individuare diversi passi distinti si comincia con la comprensione del dominio e si termina con l’acquisizione di nuova conoscenza I passi del processo KDD Comprensione del dominio applicativo 1. passo introduttivo per definire obiettivi e scelte successive formulazione precisa del problema che si sta provando a risolvere per evitare spreco tempo e denaro Esplorazione iniziale dei dati : 2. Fase che include diversi meccanismi di preparazione dei dati “pulitura” dei dati (per esempio per identificare e rimuovere dati codificati in modo errato), trasformazione dei dati, la selezione di sottoinsiemi di record, preliminare selezione delle caratteristiche descrizione e visualizzazione dei dati (per esempio utilizzando statistiche descrittive, correlazioni, scatterplot, box plot, ecc.). La descrizione dei dati consente di ottenere una fotografia delle caratteristiche importanti dei dati (come ad esempio la tendenza centrale e le misure di dispersione). Le tendenze sono spesso più facili da individuare visivamente che attraverso liste e tabelle numeriche. 2 I passi del processo KDD Nell’esplorazione iniziale dei dati è possibile individuare fasi distinte: 2.a Selezione dei dati dati disponibili, dati addizionali, dati da integrare trade-off tra gestione di più informazioni possibili e organizzazione di un dataset semplice da gestire 2.b Pre-processing gestione di missing values, rumore, outliers, 7 DATA PREPROCESSING 2.c Trasformazione dei dati feature selection, discretizzazione, 7 I passi del processo KDD 3. Selezione del compito di DM classificazione, regressione, clustering 4. Selezione dell’algoritmo di DM scelta fra metodi precisi (es. reti neurali) o interpretabili (es. alberi di decisione) utilizzo di tecniche di meta-learning per selezionare il modello (l’algoritmo) DATA MINING 5. Impiego dell’algoritmo di DM implementazione dell’algoritmo (da iterare più volte se necessario) 3 I passi del processo KDD 6. Valutazione valutazione e interpretazione dei risultati rispetto agli obiettivi definiti al passo 1 generalmente la valutazione del modello decisionale ottenuto avviene utilizzando due criteri (talvolta in conflitto tra loro) Accuratezza Diversi metodi di valutazione Suddivisione dei dati in sottoinsiemi di addestramento/test (75% vs 25%) validazione incrociata v-fold (se non si hanno dati sufficienti) Comprensibilità Es. alberi decisionali e modelli di regressione lineare sono meno complicati e più semplici di modelli quali le reti neurali più semplici da interpretare anche se si potrebbe dover essere costretti a rinunciare ad una maggiore accuratezza predittiva 7. Utilizzo della conoscenza scoperta incorporare la conoscenza in un altro sistema per ulteriori operazioni KDD e DM Gli stadi che caratterizzano un processo KDD sono stati identificati nel 1996 da Fayyad, Piatetsky-Shapiro e Smyth Nell’elencare e descrivere le diverse fasi di un processo KDD particolare attenzione è stata posta allo stadio del DM, cioè a tutti quegli algoritmi per l’esplorazione e lo studio dei dati. Il DM è ritenuta la fase più importante dell’intero processo KDD e questa sua enorme importanza rende sempre più difficile, soprattutto in termini pratici, distinguere il processo KDD dal DM. Alcuni ricercatori usano i termini DM e KDD come sinonimi noi cercheremo di separare i due aspetti e di considerare il DM la fase più significativa del processo KDD, ma non perfettamente coincidente con esso. 4 DM: alcune definizioni Il DM è la non banale estrazione di informazione implicita, precedentemente sconosciuta e potenzialmente utile attraverso l’utilizzo di differenti approccci tecnici (Frawley, Piatetsky-Shapiro e Matheus, 1991). ll DM è una combinazione di potenti tecniche che aiutano a ridurre i costi e i rischi come anche ad aumentare le entrate estraendo informazione dai dati disponibili (T.Fahmy). Il DM consiste nell’uso di tecniche statistiche da utilizzare con i databases aziendali per scoprire modelli e relazioni che possono essere impiegati in un contesto di business (Trajecta lexicon). Il DM è l’esplorazione e l’analisi, attraverso mezzi automatici e semiautomatici, di grosse quantità di dati allo scopo di scoprire modelli e regole significative (Berry, Linoff, 1997). DM: alcune definizioni Il DM si riferisce all’uso di una varietà di tecniche per identificare “pepite” di informazione e di conoscenza per il supporto alle decisioni e alle previsioni. I dati sono spesso voluminosi ma, così come sono, hanno un basso valore e nessun uso diretto può esserne fatto; è l’informazione nascosta nei dati che è utile (Clementine user guide). Il DM è la ricerca di relazioni e modelli globali che sono presenti in grandi database, ma che sono nascosti nell’immenso ammontare di dati, come le relazioni tra i dati dei pazienti e le loro diagnosi mediche. Queste relazioni rappresentano una preziosa conoscenza del database e, se il database `e uno specchio fedele, del mondo reale contenuto nel database. (Holshemier e Siebes, 1994). 5 Il modello CRISP-DM Un modello alternativo è rappresentato dal Cross Industry Standard Process for Data Mining (CRISP-DM) Tale modello di data mining è stato sviluppato da un consorzio di numerose società Il modello CRISP-DM è costituito da sei fasi, Fasi del modello CRISP-DM 1. Comprensione di business attenzione è posta principalmente sugli obiettivi e le richieste del progetto da una prospettiva prettamente di business viene fornita una definizione del problema di DM 2. Comprensione dei dati obiettivo principale è collezionare dati e formulare ipotesi 3. Preparazione dei dati obiettivo: individuazione di tabelle, record, variabili pulitura dei dati in funzione degli strumenti prescelti per la modellizzazione (punto 4) 6 Fasi del modello CRISP-DM 4. Modellizzazione Obiettivo: selezione e applicazione di una o più tecniche di data mining 5. Valutazione Tramite l’analisi dei risultati si valuta se sono stati raggiunti gli obiettivi iniziali prefissati Si ipotizza anche una futura applicazione del modello 6. Implementazione Se il modello raggiunge gli obiettivi, si crea un piano di azione per implementarlo CRISP-DM vs KDD-DM Le fasi 1 e 2 del CRISP-DM rappresentano l’identificazione delle finalità di un processo KDD-DM La fase 3 combina le fasi di pre-processing del modello KDD-DM Le fasi finali di entrambi I modelli corrispondono Approfondimenti sul CRISP-DM: www.crispdm.org 7 Tassonomia dei metodi DM Molti metodi di Data Mining possono essere utilizzati in un processo KDD Due categorie fondamentali di metodi DM verification-oriented (il sistema verifica l’ipotesi dell’utente) discovery-oriented (il sistema scopre nuovi pattern autonomamente) Tassonomia dei metodi DM PARADIGMI DI DATA MINING VERIFICATION DISCOVERY PREDIZIONE CLASSIFICAZIONE RETI NEURALI RETI BAYESIANE REGRESSIONE ALBERI DECISIONALI DESCRIZIONE CLUSTERING SUPPORT VECTOR MACHINE VISUALIZZAZIONE INSTANCE BASED 8 Metodi verification-oriented I metodi verification-oriented valutano le ipotesi generate da una sorgente esterna I metodi v-o comprendono tecniche statistiche es: un esperto umano test delle ipotesi, analisi della varianza ecc. I metodi v-o hanno rilevanza minore nell’ambito del Data Mining Metodi discovery-oriented I metodi discovery-oriented sono in grado di identificare automaticamente pattern nei dati Si suddividono in: metodi descrittivi: orientati all’interpretazione dei dati (clustering, visualizzazione) metodi predittivi: costruiscono modelli di comportamento per previsioni su nuovi esempi I metodi d-o si basano sul learning induttivo il modello è costruito generalizzando da esempi di training ed è applicato su nuove istanze sconosciute 9 Unsupervised e supervised learning I metodi di learning unsupervised raggruppano gli esempi senza uno schema pre-specificato sono unsupervised una parte dei metodi d-o descrittivi (es: clustering) I metodi di learning supervised scoprono la relazione fra attributi di input e di output dei dati la relazione input/output è alla base di un fenomeno descritto dal dataset ed è rappresentata nel modello finale Modelli di classificazione e di regressione I metodi di learning supervised costruiscono modelli di due categorie: classificazione e regressione Un regressore pone lo spazio di input in corrispondenza con un dominio a valori reali Un classificatore pone lo spazio di input in corrispondenza con un insieme pre-definito di classi 10 I Dati Dati Dati strutturati Feature I dati (1/2) I dati alla base di un processo di data mining si classificano in: dati strutturati dati semi-strutturati dati non strutturati DATI TRADIZIONALI DATI non TRADIZIONALI (o MULTIMEDIALI) 11 I dati (2/2) La maggior parte dei database scientifici contengono dati strutturati Esempi di dati semi-strutturati: immagini elettroniche di documenti medici la maggior parte dei documenti web Esempio di dati non strutturati: formati da campi ben definiti rappresentati da valori numerici o alfanumerici registrazioni video e multimediali di eventi e processi Questi dati richiedono trattamenti per estrarre e strutturare le informazioni in essi contenute I dati strutturati (1/2) Rappresentati in forma di tabella (singola relazione) le colonne sono le feature (caratteristiche) degli oggetti le righe sono i valori delle feature per una entità (esempio) FEATURE ESEMPI FEATURE VALUE PER UN DATO ESEMPIO 12 I dati strutturati (2/2) Ai dati è associato il problema della loro qualità I dati devono essere pre-processing accurati immagazzinati in accordo al “tipo di dato” (dati numerici, dati character, dati interi, dati reali, 7) non ridondanti (dati ridondanti vanno eliminati) completi (trattamento dei missing value) (Analizzeremo alcune tecniche di pre-processing dei dati) Feature dei dati Esistono diversi tipi di feature Possono esistere anche variabili non osservate influenzano il modello, ma per ridurre la complessità non sono raccolte Tipi di feature più comuni: caratterizzano le variabili o attributi associati ai dati feature numeriche feature categoriche (o simboliche) Altre tipi di feature: feature discrete feature continue 13 Feature numeriche Le feature numeriche includono valori reali o interi es: età, lunghezza, velocità, 7 Importanti proprietà delle feature numeriche: relazione d’ordine (2 < 5) relazione di distanza ( d(2.3,4.2)=1.9 ) Feature categoriche Le feature categoriche (o simboliche) non hanno caratteristiche numeriche (non sono misurabili) es: colore degli occhi, nazionalità, sesso, 7 Le feature categoriche non soddisfano relazioni di ordine o di distanza Fra feature categoriche esiste solo la relazione di uguaglianza i valori di una feature categorica possono essere uguali oppure no (blu=blu, rosso≠nero) 14 Trattamento delle feature categoriche Una feature categorica a due valori può essere convertita in una variabile numerica binaria Una feature categorica a valori può essere convertita in variabili numeriche binarie valori consentiti: 0, 1 una variabile binaria per ogni valore nella categoria Le feature categoriche così trattate si dicono “Dummy variables” es: colore degli occhi blu 1000; nero 0100; verde: 0010; marrone 0001 Feature continue e feature discrete Feature continue: sono anche dette variabili quantitative (o metriche) Sono misurate utilizzando: scala di intervallo (interval scale) scala di rapporto (ratio scale) Feature discrete: sono anche dette variabili qualitative Sono misurate utilizzando: scala nominale scala ordinale 15 Feature continue – scala di intervallo e scala di rapporto Le feature continue sono rappresente con numeri reali o interi La scala di intervallo e la scala di rapporto si differenziano per la definizione dello zero Interval scale: zero posizionato arbitrariamente (non indica assenza di ciò che è misurato) Ratio scale: zero posizionato in modo assoluto es: temp. Fahrenheit 0°F non è assenza di calore es: peso, altezza, salario, 7 La relazione di rapporto non è valida nella “interval scale”, è valida nella “ratio scale” Feature discrete – scala nominale Le feature discrete sono rappresentate utilizzando simboli o numeri La scala nominale è una scala senza relazione d’ordine (order-less scale) che usa simboli o numeri es: codice identificativo di utente residenziale A (oppure 1), commerciale B (oppure 2) I numeri indicano solo diversi valori dell’attributo e non hanno ordine 16 Feature discrete – scala ordinale La scala ordinale consiste in un ordinamento (elenco) ordinato (ordered ranking) Una feature discreta in scala ordinale è una variabile categorica per cui vale la relazione d’ordine, ma non di distanza es: d(studente classificato 4°, studente classificato 5°) ≠ d(studente classificato 15°, studente classificato 16°) Le relazioni tra attributi che possono essere stabilite in scala ordinale: es: votazione studenti Le relazioni ordinali non sono lineari maggiore/uguale; uguale; minore/uguale Le variabili ordinali sono strettamente legate alle cosiddette variabili linguistiche (fuzzy) es: ETA’ (giovane, mezza età, vecchio) Casi speciali di feature Le feature periodiche sono variabili discrete per le quali esiste una relazione di distanza, ma non d’ordine Dati classificati rispetto al tempo es: giorni della settimana, giorni del mese, mesi dell’anno dati statici: dati che non cambiano con il tempo dati dinamici (o temporali): dati che cambiano con il tempo La maggior parte delle tecniche di DM hanno a che fare con dati statici 17 Trasformazioni di dati Trasformazioni Normalizzazione Smoothing Differenze e rapporti Missing values Outliers Trasformazione dei dati Molte metodi verification-oriented richiedono l’informazione a priori dell’esistenza di una qualche correlazione tra i dati (es. correlazione lineare), di specifiche tipologie di distribuzioni (es. normali), l’assenza di outliers Molti algoritmi discovery-oriented hanno la capacità di trattare automaticamente la presenza di nonlinearità e non-normalità dei dati Gli algoritmi lavorano comunque meglio se tali problemi sono trattati in fase di pre-processing 18 Trasformazioni di dati La trasformazione dei dati può migliorare i risultati delle tecniche di DM e alleviare alcune problematiche quali Dati con errori o incompleti Dati mal distribuiti Forte asimmetria nei dati Presenza di molti picchi di valori La trasformazione da applicare dipende dal tipo di dati, dal loro numero, dalle caratteristiche del problema, 7 Trasformazione dei dati: obiettivi Definire una trasformazione T sull’attributo X, Y= T(X) tale che: Scopi principali: Y preserva l’informazione “rilevante”di X Y elimina almeno una o più delle problematiche presenti in X Y è più “utile” di X Ustabilizzare le varianze Unormalizzare le distribuzioni Ulinearizzare le relazioni tra variabili Scopi secondari: semplificare l'elaborazione di dati che presentano caratteristiche non gradite rappresentare i dati in una scala ritenuta più adatta 19 Trasformazioni Trasformazioni esponenziali ax p + b (p ≠ 0) Tp ( x ) = c log x + d (p = 0) esponenziali con a,b,c,d e p valori reali preservano l’ordine preservano alcune statistiche di base sono funzioni continue ammettono derivate sono specificate tramite funzioni semplici Trasformazioni Trasformazioni lineari Tp ( x ) = ax p + b 1€= 1936.27 Lit. ºC= 5/9(ºF -32) p=1, a= 1936.27 ,b =0 p = 1, a = 5/9, b = -160/9 Obiettivo: migliorare l’interpretabilità 20 Trasformazioni Trasformazione logaritmica U Tp ( x ) = c log x + d Si applica a valori positivi omogeneizza varianze di distribuzioni lognormali Esempio: normalizza picchi stagionali Obiettivo: stabilizzare le varienze Trasformazioni Altre trasformazioni che stabilizzano le varianze Tp ( x ) = ax p + b Trasformazione in radice p = 1/c, c numero intero per omogeneizzare varianze di distribuzioni particolari, e.g., di Poisson Trasformazione reciproca p<0 per l’analisi di serie temporali, quando la varianza aumenta in modo molto pronunciato rispetto alla media 21 Normalizzazione La normalizzazione dei dati è utile quando è necessario calcolare le distanze tra punti in uno spazio n dimensionale Una tecnica largamente utilizzata consiste nel cambiamento dei valori numerici in modo che essi siano scalati in uno specifico intervallo La normalizzazione è particolarmente utile quando si utilizzano tecniche di DM basate sulle distanze es: [-1,1] o [0,1] Si evitare che le variabili che assumono un range di valori più ampio non siano pesate più di quelle feature che in media presentano un range di valori più piccolo L’applicazione di una tecnica di normalizzazione va considarata in tutte le fasi del processo di DM e su tutti i nuovi dati i parametri di normalizzazione devono essere conservati Esempi di normalizzazione Normalizzazione tramite scaling decimale sposta il punto decimale dividendo ogni valore numerico per la stessa potenza di 10 valori scalati nell’intervallo [-1,1] Siano v il vettore delle feature, v(i) la i.sima componente, il vettore scalato si ottiene: v (i ) = v (i ) , 10K K = arg min(max v (i ) < 1) i Come si procede: assegnata la feature v si cerca il max di v(i) si scala il punto decimale fino a che max v (i ) < 1 i si applica il divisore a tutti gli altri elementi di v(i) 22 Esempi di normalizzazione Normalizzazione min-max tecnica appropriata quando sono noti i valori minimo e massimo di una variabile La formula da applicare è la seguente: v (i ) − min v (i )( new max − new min) + new min v (i ) = max v (i ) − min v (i ) newmax e newmin specificano i nuovi valori di minimo e massimo per la variabile in questione Se il range in cui si desidera scalare la variabile è costituito dall’intervallo [0,1] la formula si semplifica come segue: v (i ) = v (i ) − min v (i ) i max v (i ) − min v (i ) i i Esempi di normalizzazione Normalizzazione della standard deviation (z-score normalization): Trasformazione appropriata per essere utilizzata con algoritmi di DM dasati su misure di distanza Svantaggio:trasforma i dati in modo da renderli non riconoscibili Particolarmente utile quando il massimo e il minimo non sono noti Siano v il vettore delle feature, mean(v) e sd(v) la media e la deviazione standard. La normalizzazione z-score converte il valore in un punteggio standard attraverso la seguente formula: v (i ) = v(i ) − mean( v ) sd ( v ) 23 Data Smoothing Molte tecniche di DM sono insensibili a piccole differenze (non significative) nei valori di una feature in molte applicazioni le differenze tra i valori di una variabile non sono significative e possono spesso essere considerate come variazioni random di uno stesso valore può essere vantaggioso in alcuni casi regolarizzare i valori di una variabile Ridurre il numero di valori distinti di una feature può ridurre la dimensionalità dello spazio dei dati Smoothers possono essere utilizzati per discretizzare delle feature continue (trasformandole in feature discrete) Differenze e rapporti Per migliorare le performance (e per diminuire il numero delle feature) si possono applicare semplici trasformazioni delle variabili es: dati medici al posto di peso (p) e altezza (h) si considera BMI (indice di massa corporea) BMI = rapporto pesato tra p e h di un paziente Le trasformazioni di questo tipo sono utilizzate per comporre nuove feature 24 Missing data Esistono diverse cause che producono dataset non completi, ovvero dataset in cui sono presenti valori mancanti (missing value) “difficoltà” (temporali/fisiche ecc) nel calcolare il valore per uno specifico campione Mancanza di conoscenza Diversi fattori che spingono gli intervistati a non risposndenre a questionari e/o interviste Missing data I dati mancanti si possono classificare in “do not care” value : valori di una feature non registrati perché considerati irrilevanti “lost ” value: valori di una feature non registrati perché sono stati dimenticati o sono stati erroneamente cancellati 25 Missing data Missing completely at random (MCAR) I dati mancanti sono distribuiti random su tutte le features La presenza di MCAR può essere confermata suddividendo i campioni in due gruppi (con e senza dati mancanti) e effettuando un t-tests sulle differenze medie tra le features per evidenziare se i due gruppi di campioni presentano (o meno) differenze significative Missing data Missing at random (MAR) I dati mancanti non sono distribuiti random su tutte le feature ma solo in alcune MAR sono più comuni dei MCAR. Non-ignorable missingness (Missing Not at random) Esempi di dati mancanti più probelmatici da trattare I missing values non sono distribuiti random su tutte le osservazioni, ma la probabilità di trovare un dato mancante non può essere stimata utilizzando le variabili nel modello Trattamento: sostituire il dato mancante in base a altri dati esterni al compito di DM 26 Missing data Come trattare i missing value? Non esiste una soluzione semplice e “safe” per risolvere i casi in cui alcuni attributi presentano un numero significativo di valori mancanti Se possibile, si dovrebbe cercare di valutare l’importanza dei dati mancanti sperimentando la/e tecniche di DM con e senza gli attributi che presentano tali dati Missing data In generale, i metodi per il trattamento dei dati mancanti si possono suddividere in: metodi sequenziali (o metodi di pre-processing) il dataset incompleto è convertito in un dataset completo e successivamente si applica una tecnica di DM metodi paralleli (metodi in cui i valori mancanti sono considerati all’interno del processo di acquisizione di conoscenza) modificare l’algoritmo di DM per permettergli di gestire tali dati 27 Missing data: metodi sequenziali Riduzione del dataset (soluzione più semplice) eliminazione degli esempi con valori mancanti (listwise o casewise deletion) metodo utilizzabile quando la dimensione del dataset è grande e/o la percentuale dei missing value è bassa produce una perdita (a volte significativa) di informazioni Sostituzione dei missing value con valori costanti un valore globale (il valore più comune della feature) media della corrispondente feature (per attributi di tipo numerico) media della feature della classe (nei problemi di classificazione) Missing data: metodi sequenziali Global closest fit: sostituire il valore mancante con il valore dell’attributo più somigliante si confrontano due vettori di feature (quello contente il missing value, ed il candidato ad essere il closest fit) ricerca effettuata su tutte le feature si calcola una distanza tra i due vettori il vettore con la minima distanza viene usato per determinare il valore mancante la distanza usata è NB: sostituire i dati mancanti introduce un bias 28 Missing data: metodi sequenziali La distanza usata nel metodo Global Closest Fit è: dist ( x , y ) = n ∑ dist ( x , y ) i i i =1 dist ( x i , y i ) = | xi 0 1 − yi | r se x i = y i se x , y sono simboliche e x i ≠ y i o xi = ? o yi = ? se x i e y i sono numeri e x i ≠ y i r = differenza tra il massimo ed il minimo valore della feature contenente il missing value Nei problemi di classificazione si utilizza Class closest Fit Missing data Soluzioni più sofisticate per il trattamento dei missing values si basano sulla predizione dei valori mediante un algoritmo di data mining. In questo caso predire i valori mancanti diviene un particolare problema di DM di tipo predittivo 29 Analisi degli outlier Outlier: valori dei dati inusuali (non consistenti o significativamente diversi dal resto degli esempi) Una definizione esatta di un outlier dipende dalle assunzioni relative alla struttura dei dati e all’applicazione della tecnica di DM Definizioni generali: Hawkins (Identification of Outlier. Chapman and Hall. 1980) “Osservazione che devia così tanto dalle altre osservazioni da suscitare il sospetto che sia stata generata da un meccanismo diverso ” Analisi degli outlier Barnett e Lewis (Outlier in Statistical Data. John Wiley 1994) “un outlier è una osservazione che sembra deviare notevolmente dalle altri componenti dell’esempio in cui esso occorre” Johnson (Applied Multivariate Statistical Analysis. Prentice Hall, 1992) “osservazione in un dataset che sembra essere inconsistente con il rimanente insieme dei dati” La scoperta degli outlier può rappresentare un vero e proprio processo di DM individuazione di transazioni economiche fraudolente con carte di credito, intrusioni non autorizzate in reti private, ecc. 30 Analisi degli outlier Molti metodi di DM cercano di minimizzare l’influenza degli outlier o di eliminarli durante la fase di pre-processing l’eliminazione di outlier è un processo delicato (può far perdere informazioni) Formalmente: il processo di individuazione ed eliminazione degli outlier può essere descritto come il processo di selezione di K degli n esempi che sono dissimili, eccezionali o inconsistenti con il resto del dataset Analisi degli outlier: tassonomia dei metodi I metodi per l’identificazione degli outlier possono essere suddivisi in: metodi univariati (assumono che i dati siano iid) metodi multivariati metodi parametrici (o statistici) assumono che sia nota una distribuzione delle osservazioni o una stima statistica di essa etichettano come outlier quelle osservazioni che si discostano dalle assunzioni sul modello inadatti per dataset di dimensione elevata e/o dataset privi di conoscenza a priori sulla distribuzione dei dati metodi non parametrici (metodi model-free) metodi basati sulla distanza tecniche di clustering (cluster di piccole dimensioni considerati come cluster di outlier) 31 Analisi degli outlier – Caso monodimensionale Analisi statistica di media e varianza (metodo più semplice) Calcolando media e varianza è possibile stabilire un valore di soglia che sia funzione della varianza tutti i valori che superano la soglia sono potenziali outlier Problema: assunzione a priori di una distribuzione dei dati (nei casi reali la distribuzione è incognita) es: ETA’={3,56,23,39,156,52,41,22,9,28,139,55,20, -67,37,11,55,45,37} media: 39.9, standard deviation: 45.65 soglia: threshold = media ± 2×standard deviation [-54.1, 131.2] età numero positivo [0, 131.2] I valori 156, -67, 139 sono outlier (presumibilmente typo-error) Analisi degli outlier – Caso multidimensionale Individuazione degli outlier in base alle distanze Formalmente: gli outlier sono gli esempi che non hanno abbastanza esempi vicini un esempio si è un outlier se almeno un sottoinsieme (frazione) di p esempi nel dataset si trova ad una distanza da si maggiore di una prefissata quantità d Il metodo si basa sull’assegnazione a-priori dei parametri ped La complessità computazionale del metodo è data dal calcolo di una misura di distanza tra tutti gli esempi di un dataset n-dimensionale 32 Analisi degli outlier – Caso multidimensionale Diversi tipi di distanze possono essere adottate Distanza di Mahalanobis Calcolo della matrice di covarianza associata al dataset Vn = 1 n ( xi − xn )( xi − xn )T ∑ n − 1 i =1 La distanza di Mahalanobis per ciascun dato multivariato (viene calcolata per tutti gli n campioni) è: 1/ 2 n Mi = ∑( xi − xn )T Vn−1( xi − xn ) i=1 i = 1,...,n outlier osservazione con valore Mi grande Analisi degli outlier – Tecniche basate sulla deviazione Le tecniche basate sulla deviazione simulano il modo umano di riconoscere gli esempi inusuali Questa classe di metodi si basa su funzioni di dissimilarità (sequential-exception technique): Esempio di funzione di dissimilarità per un insieme di n dati: si stabiliscono le caratteristiche di base per un insieme di esempi si riconoscono gli outlier tra gli elementi i cui valori deviano da tali caratteristiche varianza totale dell’insieme di dati Occorre inoltre definire un sottoinsieme di esempi da rimuovere dal dataset per determinare la massima riduzione del valore della funzione di dissimilarità quando questa è calcolata sull’insieme residuo 33 Esplorazione grafica di dati multivariati N. Del Buono Introduzione I metodi di esplorazione grafica (o visuale) permettono l’identificazione di strutture nei dati I metodi visuali rivestono un ruolo primario nell’esplorazione dei dati in virtù della capacità (acquisita in millenni di evoluzione) del sistema occhi-cervello di individuare strutture che presentano delle similarità I metodi visuali rivestono un ruolo importante nel processo di KDD-DM, sebbene presentino numerose limitazioni soprattutto nel trattamento di dataset molto grandi I metodi visuali sono noti anche come metodi “data-driven hypothesis generation” e si contrappongono ai metodi di verifica “hypothesis testing” 34 Introduzione Esamineremo alcuni metodi di esplorazione grafica cosiddetti “informali”, che sono stati largamente utilizzati in diversi contesti per l’analisi dei dati semplici statistiche meccanismi per la visualizzazione di singole variabili meccanismi per il rilevamento di relazioni tra due variabili meccanismi per il rilevamento di relazioni tra più di due variabili Riassumere i dati mediante semplici statistiche La media aritmetica dei dati (“sample mean” ) rappresenta una semplice informazione sul valore medio dei dati (stima del valore medio reale della variabile aleatoria di cui i dati rappresentano una campionatura) v (i ) ⌢ µ=∑ n i û è il valore “centrale” nel senso che minimizza la somma delle differenze al quadrato tra esso e i dati û è una misura del “posizionamento” (o misura di posizione) dei dati 35 Riassumere i dati mediante semplici statistiche Una ulteriore misura del “posizionamento” dei dati è fornita dalla mediana La mediana è definita come quel valore che divide a metà l’insieme dei dati, pertanto l'insieme dei valori è per metà minore e per metà maggiore della mediana valore che possiede uno stesso numero di punti al di sotto e al di sopra di essi è il dato centrale della distribuzione è meno sensibile della media aritmetica ai valori estremi Riassumere i dati mediante semplici statistiche Fasi operative per il calcolo della mediana 1. 2. 3. ordinamento crescente dei dati se il numero di dati n è dispari, la mediana corrisponde al dato che occupa la (n+1)/2-ima posizione se il numero di dati n è pari, la mediana è data dalla media aritmetica dei due dati che occupano la posizione n/2 e quella n/2+1 36 Riassumere i dati mediante semplici statistiche Esempio di calcolo della mediana dati : {8, 5, 7, 6, 35, 5, 4} ridisposizione in ordine crescente: {4, 5, 5, 6, 7, 8, 35} Calcolo della posizione centrale (n+1)/2 = 4, la mediana è 6 Valore tipico nel senso che si avvicina ad una buona parte dei valori del campione. dati : {8, 5, 7, 6, 5, 4} ridisposizione in ordine crescente: {4, 5, 5, 6, 7, 8}, n è pari, la mediana è la media dei valori che occupano le posizioni (n/2) ed [(n/2)+1] nell'insieme ordinato dei numeri elemento di posizione (n/2) = 3 è elemento di posizione [(n/2)+1]= 4 la mediana vale (5+6)/2=5.5 Riassumere i dati mediante semplici statistiche Quando una variabile è di tipo quantitativo discreto (o continua categorizzata), l’indice di tendenza centrale adeguato a rappresentare la distribuzione è la moda La moda è l’osservazione che si riscontra con maggiore frequenza in una data distribuzione Si possono avere anche più valori modali (distribuzione bimodale, multimodale) La moda è molto sensibile alla grandezza e al numero delle classe 37 Riassumere i dati mediante semplici statistiche Confronto tra diversi indici di tendenza centrale la moda è l’indice meno informativo in quanto, essendo calcolato sulle frequenze, prescinde totalmente dalla natura numerica dalle osservazioni, fornisce conoscenza sul dato che ha la maggiore probabilità di presentarsi la mediana è più informativa della moda e considera anche l’ordine tra le osservazioni utilizzata per suddividere la distribuzione in parti uguali vantaggio di non essere influenzata da grandi differenze quantitative tra i dati, ma solo dalla posizione la media è l’indice più informativo in quanto considera anche la distanza tra le osservazioni si utilizza per esprimere un concetto di equidistribuzione Riassumere i dati mediante semplici statistiche Altre misure di posizione dei dati individuano diverse regioni dalla distribuzione dei valori dei dati percentili o centili: valori al di sotto dei quali si trova una determinata percentuale della distribuzione dei dati i quartili separano i dati in 4 parti uguali 25° percentile o primo quartile (la mediana della parte inferiore dei dati) 50° percentile mediana 75° percentile o terzo quartile (la mediana della parte superiore dei dati) 38 Riassumere i dati mediante semplici statistiche Misure di dispersione o di variabilità La media è la misura della localizzazione centrale della distribuzione di una serie di dati Dati con la stessa media possono avere un grado molto diverso di variazione Per esprimere tali variazioni si utilizza la media come punto di riferimento di ciascun valore e si calcola la deviazione di ciascun valore dalla media deviazione standard (radice quadrata della varianza) ( v ( i ) − µˆ ) 2 2 σ = varianza ∑i n più σ2 e σ sono piccoli più i dati sono concentrati più σ2 e σ sono grandi più i dati sono dispersi Riassumere i dati mediante semplici statistiche Un ulteriore modo di esprimere la variabilità di un insieme di dati è quello di utilizzare il range o campo di variazione range: differenza tra il più grande e il più piccolo valore presente nei dati rappresenta l’ampiezza dell’intervallo dei dati tiene conto solo dei valori estremi trascurando tutti gli altri nel caso in cui i dati siano pochi si ottiene una stima erronea del range di popolazione tende ad aumentare con l’aumento del numero delle osservazioni 39 Riassumere i dati mediante semplici statistiche Range o differenza interqualile: differenza tra il terzo ed il primo quartile elimina l’influenza dei valori estremi relativamente indipendente dalla numerosità del campione Visualizzazione grafica di singole variabili: istogramma Un istogramma è un grafico compatto per rappresentare una serie di dati (generalmente continui) Costruire un istogramma per dati continui dividere il range dei dati in intervalli (detti classi di intervallo, celle, o semplicemente colonne) se possibile, le colonne dovrebbero essere di uguale “larghezza”, per aumentare l’informazione visiva 40 Visualizzazione grafica di singole variabili: Pareto chart Una significativa variazione dell’istogramma è il diagramma di Pareto (Pareto Chart) in economia “principio di Pareto” : modo di rappresentare in forma grafica gli aspetti prioritari da affrontare per risolvere un problema usato nei processi di miglioramento della qualità, dove i dati di solito presentano diversi tipi di difetti, errori e non conformità, o altre categorie di interesse per l’analisi Visualizzazione grafica di singole variabili: Pareto chart Diagramma di Pareto è un istogramma con celle ordinate in senso decrescente affiancato dal grafico delle frequenze cumulate (detto curva di Lorenz) le categorie sono ordinate in modo tale che quella con maggior frequenza si trovi sulla sinistra del grafico, seguita da quelle di frequenza minore permette di stabilire quali sono i maggiori fattori che hanno influenza su un dato fenomeno 41 Visualizzazione grafica di singole variabili: box-plot Un buon sistema per rappresentare graficamente i dati è la cosiddetta "Tecnica dei 5 numeri" o "Box and wiskers plot" (letteralmente: diagramma a scatola e baffi) la "scatola" comprende la mediana ed è delimitata dal 25° e dal 75° percentile i "baffi" limitano i valori minimo e massimo Visualizzazione grafica di singole variabili: box-plot Box-and-whisker plots sono utili per interpretare la possibile distribuzione dei dati Rappresentano il grado di dispersione o variabilità dei dati (rispetto mediana e/o media) evidenziano le eventuali simmetrie evidenziano la presenza di valori anomali evidenziano il range inter-quartile ovvero la dispersione dei dati 42 Visualizzazione grafica di singole variabili: box-plot (esempio) Esempio di costruzione di un box-plot Dati relativi ai punteggi acquisiti da un insieme di studenti dati: 80, 75, 90, 95, 65, 65, 80, 85, 70, 100 Si ordinano i dati in ordine crescente si determina il primo quartile, la mediana, il terzo quartile, il più grande ed il più piccolo valore: mediana = 80 primo quartile = 70 terzo quartile = 90 Valore minimo = 65 Valore massimo = 100 Visualizzazione grafica di singole variabili: box-plot (esempio) 65, 65, 70, 75,80, 80, 85, 90, 95 ,100 Primo quartile Terzo quartile Mediana (secondo quartile) 65 70 75 80 85 90 95 100 43 Visualizzazione grafica di coppie di variabili: Scatterplot Scatter plot o diagramma di dispersione (scatter plot) è un grafico cartesiano formato dai punti ottenuti rilevazione di due variabili numeriche Variabile descrittiva (explanatory variable) Variabile suscettibile (response variable) Visualizzazione grafica di coppie di variabili: Scatterplot Alcune proprietà statistiche della distribuzione (posizione, dispersione, correlazione, dati anomali) possono essere dedotte dalla nuvola di punti posizione, coesione interna, orientamento, presenza di punti isolati possibili associazioni tra due variabili Associazione positiva trend in salita Associazione negativa trend in discesa Nessun trend mancanza di associazione 44 Visualizzazione grafica di dati multivariabili: Scatter-matrix Un insieme di dati multivariati (più di due variabili) permette di ottenere diversi scatter plot per ciascuna coppia di variabili Si ottiene cosi la matrice degli scatterplot matrice simmetrica p×p (le p righe e p colonne corrispondono a ciascuna variabile) di scatterplot bivariati nella posizione ij grafico della variabile j rispetto la variabile i la stessa variabile compare nella posizione ji in cui gli assi x ed y sono scambiati Visualizzazione grafica di dati multivariabili: Co-plot Un grafico coplot è una successione di scatter-plot di tipo “conditionato” ciascun diagramma corrisponde a un particolare intervallo di valori di una terza variabile o fattore di condizionamento Metodo di visualizzazione che permette di evidenziare come una variabile di output dipende da una variabile di input date altre variabili descrittive Diverse modalità di rappresentazione Given panels: intervalli di variabilità della variabile “condizionata” Dependence panels: scatterplot bivariati della variabile “suscettibile” rispetto le restanti variabili descrittive 45 Visualizzazione grafica di dati multivariabili: diagrammi di Trellis I coplot sono esempi di metodi di visualizzazione più generali noti come diagrammi di Trellis. I diagrammi (o grafici) di Trellis permettono di visualizzare l’esistenza di strutture nei dati mediante l’utilizzo di grafici 1D,2D o 3D. Visualizzazione le relazioni all’interno di grandi dataset distinguendo diversi gruppi di variabili Visualizzazione grafica di dati multivariabili: diagrammi di Trellis Multipanel conditioning Visualizzazione del cambiamento delle relazioni tra due variabili in funzione di una o più variabili condizionate Rappresentazione di diversi tipi di grafici in un range di valori relativo alle variabili selezionate. 46 Esempio: IRIS data Classificazione di tre tipi di fiori iris: Setosa, Versicolor, Virginica. Iris Setosa Iris Versicolor Iris Virginica Esempio: IRIS data Il dataset IRIS è costituito da 150 esempi di fiori iris catalogati in base ad una analisi di 4 attributi (variabili di input): Lunghezza e larghezza dei sepali (elementi costitutivi del calice del fiore) Lunghezza e larghezza dei petali (elemento costitutivo della corolla del fiore) Ogni campione del data set è un vettore di 5 dimensioni (4 variabili continue, 1 categorica) attributi dei fiori (input) 5.4 3.9 1.7 0.4 classe (output) Iris-virginica 47 Esempio: IRIS data Esempio di scatterplot bivariato (lungh. Sepali, lungh. Petali) Scatterplot matrix: IRIS data 48 Box-and-whisker plot: IRIS data Diagramma di Trellis: Iris Data Esempio di diagramma di Trellis Grafico 3D lunghezza dei sepali (asse x), larghezza dei sepali (asse y) larghezza dei petali (asse z) Condizionato alla: Lunghezza dei petali Specie di fiore 49 Diagramma di Trellis: Iris Data setosa Petal L.: [1.0 4.4] setosa Petal L.: [4.4 7.1] versicolor versicolor Petal L.: [1.0 4.4] Petal L.: [4.4 7.1] WEKA Che cosa è WEKA? WEKA acronomo di “Waikato Environment for Knowledge Analysis” sviluppato dall’Università di Waikato (Nuova Zelanda) a partire dal 1993 collezione di algoritmi di machine learning per il Data Mining contiene algoritmi per il pre-processing, la classificazione, la regressione, il clustering, la visualizazione grafiac, ecc. scritto in Java, open source, rilasciato con licenza GNU 50 WEKA L'interfaccia grafica di Weka è composta da: Simple CLI: l'interfaccia dalla linea di comando; Explorer: consente di esplorare i dati attraverso i comandi WEKA Experimenter: permette di testare diversi algoritmi di data mining Sito Ufficiale: http://www.cs.waikato.ac.nz/ml/weka/ 51