20.04.2015 Views

Lucidi modulo Data Mining

Lucidi modulo Data Mining

Lucidi modulo Data Mining

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Introduzione al KDD<br />

Il processo KDD<br />

I metodi di DM<br />

Introduzione al KDD<br />

<br />

<br />

<br />

Knowledge Discovery in <strong>Data</strong>bases (KDD): processo automatico di<br />

esplorazione dei dati allo scopo di identificare pattern validi, utili,<br />

ignoti<br />

processo effettuato su insiemi di dati di grandi dimensioni e elevata<br />

complessità<br />

<strong>Data</strong> <strong>Mining</strong> (DM): cuore del processo KDD<br />

<strong>Data</strong> mining: insieme di meccanismi automatici progettati per<br />

consentire l’esplorazione di grandi moli di dati alla ricerca di tendenze<br />

consistenti e/o relazioni sistematiche tra variabili, e successivamente<br />

per validare le scoperte attraverso l’applicazione di comportamenti<br />

rilevati su nuovi sottoinsiemi di dati<br />

sviluppo e utilizzo di diversi algoritmi per l’esplorazione dei dati<br />

Le ragioni del DM e del KDD:<br />

accessibilità e abbondanza dei dati in formato elettronico<br />

problematiche: lenta capacità di utilizzo delle informazioni rispetto la<br />

crescitadella capacità di accumulo di dati (i.e., internet)<br />

1


Caratteristiche del processo<br />

KDD<br />

Il processo KDD è iterativo e interattivo<br />

<br />

<br />

iterativo perché composto di passi successivi<br />

iterazione a ogni passo (può essere necessario ripetere<br />

alcuni passi prima di completare l’intero processo)<br />

interattivo perché è necessario comprendere il<br />

processo e le possibilità di sviluppo a ogni passo<br />

non è possibile definire un meccanismo o una formula che<br />

sia sempre valida in ogni situazione<br />

Nel processo KDD si possono generalmente<br />

individuare diversi passi distinti<br />

<br />

si comincia con la comprensione del dominio e si<br />

termina con l’acquisizione di nuova conoscenza<br />

I passi del processo KDD<br />

1. Comprensione del dominio applicativo<br />

passo introduttivo per definire obiettivi e scelte successive<br />

formulazione precisa del problema che si sta provando a<br />

risolvere per evitare spreco tempo e denaro<br />

2. Esplorazione iniziale dei dati :<br />

Fase che include diversi meccanismi di preparazione dei dati<br />

“pulitura” dei dati (per esempio per identificare e rimuovere dati<br />

codificati in modo errato),<br />

trasformazione dei dati, la selezione di sottoinsiemi di record,<br />

preliminare selezione delle caratteristiche<br />

descrizione e visualizzazione dei dati (per esempio utilizzando<br />

statistiche descrittive, correlazioni, scatterplot, box plot, ecc.).<br />

<br />

La descrizione dei dati consente di ottenere una fotografia delle<br />

caratteristiche importanti dei dati (come ad esempio la tendenza<br />

centrale e le misure di dispersione). Le tendenze sono spesso più facili<br />

da individuare visivamente che attraverso liste e tabelle numeriche.<br />

2


I passi del processo KDD<br />

Nell’esplorazione iniziale dei dati è possibile<br />

individuare fasi distinte:<br />

2.a Selezione dei dati<br />

dati disponibili, dati addizionali, dati da integrare<br />

trade-off tra gestione di più informazioni possibili e<br />

organizzazione di un dataset semplice da gestire<br />

2.b Pre-processing<br />

gestione di missing values, rumore, outliers, <br />

2.c Trasformazione dei dati<br />

feature selection, discretizzazione, <br />

DATA<br />

PRE-<br />

PROCESSING<br />

I passi del processo KDD<br />

3. Selezione del compito di DM<br />

<br />

classificazione, regressione, clustering<br />

4. Selezione dell’algoritmo di DM<br />

<br />

<br />

scelta fra metodi precisi (es. reti neurali)<br />

o interpretabili (es. alberi di decisione)<br />

utilizzo di tecniche di meta-learning per<br />

selezionare il modello (l’algoritmo)<br />

5. Impiego dell’algoritmo di DM<br />

<br />

implementazione dell’algoritmo (da<br />

iterare più volte se necessario)<br />

DATA<br />

MINING<br />

3


I passi del processo KDD<br />

6. Valutazione<br />

valutazione e interpretazione dei risultati rispetto agli<br />

obiettivi definiti al passo 1<br />

generalmente la valutazione del modello decisionale<br />

ottenuto avviene utilizzando due criteri (talvolta in conflitto<br />

tra loro)<br />

Accuratezza<br />

<br />

<br />

<br />

Diversi metodi di valutazione<br />

Suddivisione dei dati in sottoinsiemi di addestramento/test (75%<br />

vs 25%)<br />

validazione incrociata v-fold (se non si hanno dati sufficienti)<br />

Comprensibilità<br />

Es. alberi decisionali e modelli di regressione lineare sono meno<br />

complicati e più semplici di modelli quali le reti neurali più semplici da<br />

interpretare anche se si potrebbe dover essere costretti a rinunciare<br />

ad una maggiore accuratezza predittiva<br />

7. Utilizzo della conoscenza scoperta<br />

incorporare la conoscenza in un altro sistema per ulteriori<br />

operazioni<br />

KDD e DM<br />

<br />

<br />

<br />

<br />

Gli stadi che caratterizzano un processo KDD sono stati<br />

identificati nel 1996 da Fayyad, Piatetsky-Shapiro e Smyth<br />

Nell’elencare e descrivere le diverse fasi di un processo KDD<br />

particolare attenzione è stata posta allo stadio del DM, cioè a tutti<br />

quegli algoritmi per l’esplorazione e lo studio dei dati.<br />

Il DM è ritenuta la fase più importante dell’intero processo KDD e<br />

questa sua enorme importanza rende sempre più difficile,<br />

soprattutto in termini pratici, distinguere il processo KDD dal DM.<br />

Alcuni ricercatori usano i termini DM e KDD come sinonimi noi<br />

cercheremo di separare i due aspetti e di considerare il DM la<br />

fase più significativa del processo KDD, ma non perfettamente<br />

coincidente con esso.<br />

4


DM: alcune definizioni<br />

<br />

<br />

<br />

<br />

Il DM è la non banale estrazione di informazione implicita,<br />

precedentemente sconosciuta e potenzialmente utile<br />

attraverso l’utilizzo di differenti approccci tecnici (Frawley,<br />

Piatetsky-Shapiro e Matheus, 1991).<br />

ll DM è una combinazione di potenti tecniche che aiutano a<br />

ridurre i costi e i rischi come anche ad aumentare le entrate<br />

estraendo informazione dai dati disponibili (T.Fahmy).<br />

Il DM consiste nell’uso di tecniche statistiche da utilizzare con<br />

i databases aziendali per scoprire modelli e relazioni che<br />

possono essere impiegati in un contesto di business (Trajecta<br />

lexicon).<br />

Il DM è l’esplorazione e l’analisi, attraverso mezzi automatici e<br />

semiautomatici, di grosse quantità di dati allo scopo di<br />

scoprire modelli e regole significative (Berry, Linoff, 1997).<br />

DM: alcune definizioni<br />

<br />

<br />

<br />

Il DM si riferisce all’uso di una varietà di tecniche per<br />

identificare “pepite” di informazione e di conoscenza per il<br />

supporto alle decisioni e alle previsioni.<br />

I dati sono spesso voluminosi ma, così come sono, hanno un<br />

basso valore e nessun uso diretto può esserne fatto; è<br />

l’informazione nascosta nei dati che è utile (Clementine user<br />

guide).<br />

Il DM è la ricerca di relazioni e modelli globali che sono<br />

presenti in grandi database, ma che sono nascosti<br />

nell’immenso ammontare di dati, come le relazioni tra i dati dei<br />

pazienti e le loro diagnosi mediche. Queste relazioni<br />

rappresentano una preziosa conoscenza del database e, se il<br />

database `e uno specchio fedele, del mondo reale contenuto<br />

nel database. (Holshemier e Siebes, 1994).<br />

5


Il modello CRISP-DM<br />

Un modello alternativo è rappresentato dal<br />

Cross Industry Standard Process for <strong>Data</strong><br />

<strong>Mining</strong> (CRISP-DM)<br />

Tale modello di data mining è stato<br />

sviluppato da un consorzio di numerose<br />

società<br />

Il modello CRISP-DM è costituito da sei fasi,<br />

Fasi del modello CRISP-DM<br />

1. Comprensione di business<br />

attenzione è posta principalmente sugli obiettivi e le<br />

richieste del progetto da una prospettiva prettamente di<br />

business<br />

viene fornita una definizione del problema di DM<br />

2. Comprensione dei dati<br />

obiettivo principale è collezionare dati e formulare ipotesi<br />

3. Preparazione dei dati<br />

obiettivo: individuazione di tabelle, record, variabili<br />

pulitura dei dati in funzione degli strumenti prescelti per la<br />

modellizzazione (punto 4)<br />

6


Fasi del modello CRISP-DM<br />

4. Modellizzazione<br />

<br />

Obiettivo: selezione e applicazione di una o più<br />

tecniche di data mining<br />

5. Valutazione<br />

<br />

<br />

Tramite l’analisi dei risultati si valuta se sono stati<br />

raggiunti gli obiettivi iniziali prefissati<br />

Si ipotizza anche una futura applicazione del modello<br />

6. Implementazione<br />

<br />

Se il modello raggiunge gli obiettivi, si crea un piano<br />

di azione per implementarlo<br />

CRISP-DM vs KDD-DM<br />

Le fasi 1 e 2 del CRISP-DM rappresentano<br />

l’identificazione delle finalità di un processo<br />

KDD-DM<br />

La fase 3 combina le fasi di pre-processing<br />

del modello KDD-DM<br />

Le fasi finali di entrambi I modelli<br />

corrispondono<br />

Approfondimenti sul CRISP-DM: www.crispdm.org<br />

7


Tassonomia dei metodi DM<br />

Molti metodi di <strong>Data</strong> <strong>Mining</strong> possono essere<br />

utilizzati in un processo KDD<br />

Due categorie fondamentali di metodi DM<br />

<br />

<br />

verification-oriented (il sistema verifica l’ipotesi<br />

dell’utente)<br />

discovery-oriented (il sistema scopre nuovi<br />

pattern autonomamente)<br />

Tassonomia dei metodi DM<br />

PARADIGMI DI DATA MINING<br />

VERIFICATION<br />

DISCOVERY<br />

PREDIZIONE<br />

DESCRIZIONE<br />

CLASSIFICAZIONE<br />

REGRESSIONE<br />

CLUSTERING<br />

VISUALIZZAZIONE<br />

RETI<br />

NEURALI<br />

RETI<br />

BAYESIANE<br />

ALBERI<br />

DECISIONALI<br />

SUPPORT<br />

VECTOR<br />

MACHINE<br />

INSTANCE<br />

BASED<br />

8


Metodi verification-oriented<br />

<br />

<br />

<br />

I metodi verification-oriented valutano le ipotesi<br />

generate da una sorgente esterna<br />

es: un esperto umano<br />

I metodi v-o comprendono tecniche statistiche<br />

test delle ipotesi,<br />

analisi della varianza<br />

ecc.<br />

I metodi v-o hanno rilevanza minore nell’ambito del<br />

<strong>Data</strong> <strong>Mining</strong><br />

Metodi discovery-oriented<br />

I metodi discovery-oriented sono in grado di<br />

identificare automaticamente pattern nei dati<br />

Si suddividono in:<br />

<br />

<br />

metodi descrittivi: orientati all’interpretazione dei dati<br />

(clustering, visualizzazione)<br />

metodi predittivi: costruiscono modelli di<br />

comportamento per previsioni su nuovi esempi<br />

I metodi d-o si basano sul learning induttivo<br />

<br />

il modello è costruito generalizzando da esempi di<br />

training ed è applicato su nuove istanze sconosciute<br />

9


Unsupervised e supervised<br />

learning<br />

I metodi di learning unsupervised raggruppano<br />

gli esempi senza uno schema pre-specificato<br />

<br />

sono unsupervised una parte dei metodi d-o<br />

descrittivi (es: clustering)<br />

I metodi di learning supervised scoprono la<br />

relazione fra attributi di input e di output dei dati<br />

<br />

la relazione input/output è alla base di un fenomeno<br />

descritto dal dataset ed è rappresentata nel modello<br />

finale<br />

Modelli di classificazione e di<br />

regressione<br />

I metodi di learning supervised costruiscono<br />

modelli di due categorie: classificazione e<br />

regressione<br />

Un regressore pone lo spazio di input in<br />

corrispondenza con un dominio a valori reali<br />

Un classificatore pone lo spazio di input in<br />

corrispondenza con un insieme pre-definito di<br />

classi<br />

10


I Dati<br />

Dati<br />

Dati strutturati<br />

Feature<br />

I dati (1/2)<br />

I dati alla base di un processo di data mining<br />

si classificano in:<br />

<br />

<br />

<br />

dati strutturati<br />

dati semi-strutturati<br />

dati non strutturati<br />

DATI TRADIZIONALI<br />

DATI non TRADIZIONALI<br />

(o MULTIMEDIALI)<br />

11


I dati (2/2)<br />

La maggior parte dei database scientifici<br />

contengono dati strutturati<br />

<br />

<br />

formati da campi ben definiti<br />

rappresentati da valori numerici o alfanumerici<br />

Esempi di dati semi-strutturati:<br />

<br />

<br />

immagini elettroniche di documenti medici<br />

la maggior parte dei documenti web<br />

Esempio di dati non strutturati:<br />

<br />

registrazioni video e multimediali di eventi e processi<br />

Questi dati richiedono trattamenti per estrarre e<br />

strutturare le informazioni in essi contenute<br />

I dati strutturati (1/2)<br />

Rappresentati in forma di tabella (singola<br />

relazione)<br />

<br />

<br />

le colonne sono le feature (caratteristiche) degli oggetti<br />

le righe sono i valori delle feature per una entità<br />

(esempio)<br />

FEATURE<br />

ESEMPI<br />

FEATURE<br />

VALUE PER<br />

UN DATO<br />

ESEMPIO<br />

12


I dati strutturati (2/2)<br />

Ai dati è associato il problema della loro qualità<br />

<br />

pre-processing<br />

I dati devono essere<br />

<br />

<br />

<br />

<br />

accurati<br />

immagazzinati in accordo al “tipo di dato” (dati<br />

numerici, dati character, dati interi, dati reali, )<br />

non ridondanti (dati ridondanti vanno eliminati)<br />

completi (trattamento dei missing value)<br />

(Analizzeremo alcune tecniche di pre-processing dei<br />

dati)<br />

Feature dei dati<br />

Esistono diversi tipi di feature<br />

<br />

caratterizzano le variabili o attributi associati ai dati<br />

Possono esistere anche variabili non osservate<br />

<br />

influenzano il modello, ma per ridurre la complessità<br />

non sono raccolte<br />

Tipi di feature più comuni:<br />

<br />

<br />

feature numeriche<br />

feature categoriche (o simboliche)<br />

Altre tipi di feature:<br />

<br />

<br />

feature discrete<br />

feature continue<br />

13


Feature numeriche<br />

Le feature numeriche includono valori reali o<br />

interi<br />

<br />

es: età, lunghezza, velocità, <br />

Importanti proprietà delle feature numeriche:<br />

relazione d’ordine (2 < 5)<br />

relazione di distanza ( d(2.3,4.2)=1.9 )<br />

Feature categoriche<br />

Le feature categoriche (o simboliche) non hanno<br />

caratteristiche numeriche (non sono misurabili)<br />

<br />

es: colore degli occhi, nazionalità, sesso, <br />

Le feature categoriche non soddisfano relazioni<br />

di ordine o di distanza<br />

Fra feature categoriche esiste solo la relazione<br />

di uguaglianza<br />

<br />

i valori di una feature categorica possono essere<br />

uguali oppure no (blu=blu, rosso≠nero)<br />

14


Trattamento delle feature<br />

categoriche<br />

Una feature categorica a due valori può essere<br />

convertita in una variabile numerica binaria<br />

valori consentiti: 0, 1<br />

Una feature categorica a valori può essere<br />

convertita in variabili numeriche binarie<br />

<br />

una variabile binaria per ogni valore nella categoria<br />

Le feature categoriche così trattate si dicono<br />

“Dummy variables”<br />

<br />

es: colore degli occhi<br />

blu 1000; nero 0100; verde: 0010; marrone 0001<br />

Feature continue e feature<br />

discrete<br />

Feature continue: sono anche dette variabili<br />

quantitative (o metriche)<br />

Sono misurate utilizzando:<br />

<br />

<br />

scala di intervallo (interval scale)<br />

scala di rapporto (ratio scale)<br />

Feature discrete: sono anche dette variabili<br />

qualitative<br />

Sono misurate utilizzando:<br />

<br />

<br />

scala nominale<br />

scala ordinale<br />

15


Feature continue – scala di<br />

intervallo e scala di rapporto<br />

Le feature continue sono rappresente con numeri<br />

reali o interi<br />

La scala di intervallo e la scala di rapporto si<br />

differenziano per la definizione dello zero<br />

Interval scale: zero posizionato arbitrariamente (non<br />

indica assenza di ciò che è misurato)<br />

es: temp. Fahrenheit 0°F non è assenza di calore<br />

Ratio scale: zero posizionato in modo assoluto<br />

es: peso, altezza, salario, <br />

La relazione di rapporto non è valida nella “interval<br />

scale”, è valida nella “ratio scale”<br />

Feature discrete – scala<br />

nominale<br />

Le feature discrete sono rappresentate<br />

utilizzando simboli o numeri<br />

La scala nominale è una scala senza relazione<br />

d’ordine (order-less scale) che usa simboli o<br />

numeri<br />

<br />

es: codice identificativo di utente<br />

residenziale A (oppure 1), commerciale B (oppure 2)<br />

I numeri indicano solo diversi valori dell’attributo e<br />

non hanno ordine<br />

16


Feature discrete – scala<br />

ordinale<br />

<br />

<br />

<br />

<br />

<br />

La scala ordinale consiste in un ordinamento (elenco) ordinato<br />

(ordered ranking)<br />

Una feature discreta in scala ordinale è una variabile categorica per<br />

cui vale la relazione d’ordine, ma non di distanza<br />

es: votazione studenti<br />

Le relazioni ordinali non sono lineari<br />

es: d(studente classificato 4°, studente classificato 5°) ≠ d(studente<br />

classificato 15°, studente classificato 16°)<br />

Le relazioni tra attributi che possono essere stabilite in scala<br />

ordinale:<br />

maggiore/uguale; uguale; minore/uguale<br />

Le variabili ordinali sono strettamente legate alle cosiddette variabili<br />

linguistiche (fuzzy)<br />

es: ETA’ (giovane, mezza età, vecchio)<br />

Casi speciali di feature<br />

Le feature periodiche sono variabili discrete per le<br />

quali esiste una relazione di distanza, ma non<br />

d’ordine<br />

es: giorni della settimana, giorni del mese, mesi<br />

dell’anno<br />

Dati classificati rispetto al tempo<br />

dati statici: dati che non cambiano con il tempo<br />

dati dinamici (o temporali): dati che cambiano con il<br />

tempo<br />

La maggior parte delle tecniche di DM hanno a che<br />

fare con dati statici<br />

17


Trasformazioni di dati<br />

Trasformazioni<br />

Normalizzazione<br />

Smoothing<br />

Differenze e rapporti<br />

Missing values<br />

Outliers<br />

Trasformazione dei dati<br />

<br />

<br />

Molte metodi verification-oriented richiedono<br />

l’informazione a priori dell’esistenza di una qualche<br />

correlazione tra i dati (es. correlazione lineare), di<br />

specifiche tipologie di distribuzioni (es. normali),<br />

l’assenza di outliers<br />

Molti algoritmi discovery-oriented hanno la capacità<br />

di trattare automaticamente la presenza di nonlinearità<br />

e non-normalità dei dati<br />

Gli algoritmi lavorano comunque meglio se tali problemi<br />

sono trattati in fase di pre-processing<br />

18


Trasformazioni di dati<br />

La trasformazione dei dati può migliorare i risultati<br />

delle tecniche di DM e alleviare alcune<br />

problematiche quali<br />

Dati con errori o incompleti<br />

Dati mal distribuiti<br />

Forte asimmetria nei dati<br />

Presenza di molti picchi di valori<br />

La trasformazione da applicare dipende dal tipo di<br />

dati, dal loro numero, dalle caratteristiche del<br />

problema, <br />

Trasformazione dei dati:<br />

obiettivi<br />

<br />

<br />

<br />

Definire una trasformazione T sull’attributo X, Y= T(X) tale che:<br />

Y preserva l’informazione “rilevante”di X<br />

Y elimina almeno una o più delle problematiche presenti in X<br />

Y è più “utile” di X<br />

Scopi principali:<br />

stabilizzare le varianze<br />

normalizzare le distribuzioni<br />

linearizzare le relazioni tra variabili<br />

Scopi secondari:<br />

semplificare l'elaborazione di dati che presentano caratteristiche<br />

non gradite<br />

rappresentare i dati in una scala ritenuta più adatta<br />

19


Trasformazioni<br />

Trasformazioni esponenziali<br />

p<br />

⎧ ax + b (p ≠ 0)<br />

Tp(<br />

x)<br />

= ⎨<br />

⎩clog<br />

x + d (p = 0)<br />

esponenziali con a,b,c,d e p valori reali<br />

preservano l’ordine<br />

preservano alcune statistiche di base<br />

sono funzioni continue<br />

ammettono derivate<br />

sono specificate tramite funzioni semplici<br />

Trasformazioni<br />

Trasformazioni lineari<br />

p<br />

Tp ( x)<br />

= ax + b<br />

<br />

1€= 1936.27 Lit.<br />

p=1, a= 1936.27 ,b =0<br />

ºC= 5/9(ºF -32)<br />

p = 1, a = 5/9, b = -160/9<br />

Obiettivo: migliorare l’interpretabilità<br />

20


Trasformazioni<br />

Trasformazione logaritmica<br />

T p<br />

( x)<br />

= clog<br />

x + d<br />

<br />

<br />

<br />

Si applica a valori positivi<br />

omogeneizza varianze di distribuzioni lognormali<br />

Esempio: normalizza picchi stagionali<br />

Obiettivo: stabilizzare le varienze<br />

Trasformazioni<br />

<br />

<br />

<br />

Altre trasformazioni che stabilizzano le varianze<br />

p<br />

Tp ( x)<br />

= ax + b<br />

Trasformazione in radice<br />

p = 1/c, c numero intero<br />

per omogeneizzare varianze di distribuzioni particolari,<br />

e.g., di Poisson<br />

Trasformazione reciproca<br />

p < 0<br />

per l’analisi di serie temporali, quando la varianza aumenta<br />

in modo molto pronunciato rispetto alla media<br />

21


Normalizzazione<br />

<br />

<br />

<br />

<br />

La normalizzazione dei dati è utile quando è necessario calcolare le<br />

distanze tra punti in uno spazio n dimensionale<br />

Una tecnica largamente utilizzata consiste nel cambiamento dei valori<br />

numerici in modo che essi siano scalati in uno specifico intervallo<br />

es: [-1,1] o [0,1]<br />

La normalizzazione è particolarmente utile quando si utilizzano<br />

tecniche di DM basate sulle distanze<br />

Si evitare che le variabili che assumono un range di valori più ampio<br />

non siano pesate più di quelle feature che in media presentano un<br />

range di valori più piccolo<br />

L’applicazione di una tecnica di normalizzazione va considarata in tutte<br />

le fasi del processo di DM e su tutti i nuovi dati<br />

i parametri di normalizzazione devono essere conservati<br />

<br />

<br />

<br />

Esempi di normalizzazione<br />

Normalizzazione tramite scaling decimale<br />

sposta il punto decimale dividendo ogni valore numerico per la<br />

stessa potenza di 10<br />

valori scalati nell’intervallo [-1,1]<br />

Siano v il vettore delle feature, v(i) la i.sima componente, il<br />

vettore scalato si ottiene:<br />

v( i)<br />

v( i) = , K = arg min(max v( i) < 1)<br />

10 K i<br />

Come si procede:<br />

assegnata la feature v<br />

si cerca il max di v(i)<br />

si scala il punto decimale fino a che max v( i ) < 1<br />

i<br />

si applica il divisore a tutti gli altri elementi di v(i)<br />

22


Esempi di normalizzazione<br />

Normalizzazione min-max<br />

<br />

<br />

tecnica appropriata quando sono noti i valori minimo e<br />

massimo di una variabile<br />

La formula da applicare è la seguente:<br />

v(<br />

i)<br />

− min v(<br />

i)(<br />

new max−<br />

new min) + new min<br />

v(<br />

i)<br />

=<br />

max v(<br />

i)<br />

− min v(<br />

i)<br />

newmax e newmin specificano i nuovi valori di minimo e<br />

massimo per la variabile in questione<br />

Se il range in cui si desidera scalare la variabile è costituito<br />

dall’intervallo [0,1] la formula si semplifica come segue:<br />

v( i) − min v( i)<br />

i<br />

v( i)<br />

=<br />

max v( i) − min v( i)<br />

i<br />

i<br />

Esempi di normalizzazione<br />

<br />

<br />

Normalizzazione della standard deviation (z-score<br />

normalization):<br />

Trasformazione appropriata per essere utilizzata con algoritmi di<br />

DM dasati su misure di distanza<br />

Svantaggio:trasforma i dati in modo da renderli non riconoscibili<br />

<br />

Particolarmente utile quando il massimo e il minimo non sono noti<br />

Siano v il vettore delle feature, mean(v) e sd(v) la media e la<br />

deviazione standard. La normalizzazione z-score converte il<br />

valore in un punteggio standard attraverso la seguente<br />

formula:<br />

v( i) − mean( v)<br />

v( i)<br />

=<br />

sd( v)<br />

23


<strong>Data</strong> Smoothing<br />

Molte tecniche di DM sono insensibili a piccole<br />

differenze (non significative) nei valori di una feature<br />

<br />

<br />

in molte applicazioni le differenze tra i valori di una variabile<br />

non sono significative e possono spesso essere<br />

considerate come variazioni random di uno stesso valore<br />

può essere vantaggioso in alcuni casi regolarizzare i<br />

valori di una variabile<br />

Ridurre il numero di valori distinti di una feature può<br />

ridurre la dimensionalità dello spazio dei dati<br />

Smoothers possono essere utilizzati per<br />

discretizzare delle feature continue (trasformandole<br />

in feature discrete)<br />

Differenze e rapporti<br />

Per migliorare le performance (e per diminuire il<br />

numero delle feature) si possono applicare semplici<br />

trasformazioni delle variabili<br />

es: dati medici al posto di peso (p) e altezza (h) si<br />

considera BMI (indice di massa corporea)<br />

BMI = rapporto pesato tra p e h di un paziente<br />

Le trasformazioni di questo tipo sono utilizzate per<br />

comporre nuove feature<br />

24


Missing data<br />

Esistono diverse cause che producono dataset non<br />

completi, ovvero dataset in cui sono presenti valori<br />

mancanti (missing value)<br />

<br />

<br />

<br />

“difficoltà” (temporali/fisiche ecc) nel calcolare il valore<br />

per uno specifico campione<br />

Mancanza di conoscenza<br />

Diversi fattori che spingono gli intervistati a non<br />

risposndenre a questionari e/o interviste<br />

Missing data<br />

I dati mancanti si possono classificare in<br />

<br />

<br />

“do not care” value : valori di una feature non registrati<br />

perché considerati irrilevanti<br />

“lost ” value: valori di una feature non registrati perché<br />

sono stati dimenticati o sono stati erroneamente<br />

cancellati<br />

25


Missing data<br />

Missing completely at random (MCAR)<br />

<br />

<br />

I dati mancanti sono distribuiti random su tutte le<br />

features<br />

La presenza di MCAR può essere confermata<br />

suddividendo i campioni in due gruppi (con e<br />

senza dati mancanti) e effettuando un t-tests sulle<br />

differenze medie tra le features per evidenziare se<br />

i due gruppi di campioni presentano (o meno)<br />

differenze significative<br />

Missing data<br />

<br />

<br />

Missing at random (MAR)<br />

I dati mancanti non sono distribuiti random su tutte le<br />

feature ma solo in alcune<br />

MAR sono più comuni dei MCAR.<br />

Non-ignorable missingness (Missing Not at random)<br />

Esempi di dati mancanti più probelmatici da trattare<br />

I missing values non sono distribuiti random su tutte le<br />

osservazioni, ma la probabilità di trovare un dato mancante<br />

non può essere stimata utilizzando le variabili nel modello<br />

Trattamento: sostituire il dato mancante in base a altri dati<br />

esterni al compito di DM<br />

26


Missing data<br />

Come trattare i missing value?<br />

<br />

<br />

Non esiste una soluzione semplice e “safe” per<br />

risolvere i casi in cui alcuni attributi presentano un<br />

numero significativo di valori mancanti<br />

Se possibile, si dovrebbe cercare di valutare<br />

l’importanza dei dati mancanti sperimentando la/e<br />

tecniche di DM con e senza gli attributi che<br />

presentano tali dati<br />

Missing data<br />

In generale, i metodi per il trattamento dei dati<br />

mancanti si possono suddividere in:<br />

<br />

<br />

metodi sequenziali (o metodi di pre-processing)<br />

il dataset incompleto è convertito in un dataset completo e<br />

successivamente si applica una tecnica di DM<br />

metodi paralleli (metodi in cui i valori mancanti sono<br />

considerati all’interno del processo di acquisizione di<br />

conoscenza)<br />

modificare l’algoritmo di DM per permettergli di gestire tali<br />

dati<br />

27


Missing data: metodi sequenziali<br />

<br />

<br />

Riduzione del dataset (soluzione più semplice)<br />

eliminazione degli esempi con valori mancanti (listwise o<br />

casewise deletion)<br />

metodo utilizzabile quando la dimensione del dataset è<br />

grande e/o la percentuale dei missing value è bassa<br />

produce una perdita (a volte significativa) di informazioni<br />

Sostituzione dei missing value con valori costanti<br />

un valore globale (il valore più comune della feature)<br />

media della corrispondente feature (per attributi di tipo<br />

numerico)<br />

media della feature della classe (nei problemi di classificazione)<br />

Missing data: metodi sequenziali<br />

Global closest fit: sostituire il valore mancante<br />

con il valore dell’attributo più somigliante<br />

<br />

<br />

<br />

<br />

si confrontano due vettori di feature (quello contente il<br />

missing value, ed il candidato ad essere il closest fit)<br />

ricerca effettuata su tutte le feature<br />

si calcola una distanza tra i due vettori<br />

il vettore con la minima distanza viene usato per<br />

determinare il valore mancante<br />

la distanza usata è<br />

NB: sostituire i dati mancanti introduce un bias<br />

28


Missing data: metodi sequenziali<br />

La distanza usata nel metodo Global Closest Fit è:<br />

dist ( x,<br />

y)<br />

= ∑ dist ( xi<br />

, yi<br />

)<br />

n<br />

i=<br />

1<br />

⎧<br />

⎪ 0<br />

⎪<br />

dist ( xi<br />

, yi<br />

) = ⎨ 1<br />

⎪<br />

⎪|<br />

xi<br />

− y<br />

⎪⎩<br />

r<br />

i<br />

|<br />

se xi<br />

= yi<br />

se x,<br />

y sono simboliche e x<br />

o x<br />

i<br />

= ? o<br />

se x e<br />

i<br />

y<br />

i<br />

y<br />

i<br />

= ?<br />

sono numeri<br />

e x<br />

i<br />

i<br />

≠<br />

≠<br />

y<br />

y<br />

i<br />

i<br />

<br />

r = differenza tra il massimo ed il minimo valore della feature<br />

contenente il missing value<br />

Nei problemi di classificazione si utilizza Class closest Fit<br />

Missing data<br />

Soluzioni più sofisticate per il trattamento dei<br />

missing values si basano sulla predizione dei<br />

valori mediante un algoritmo di data mining.<br />

In questo caso predire i valori mancanti<br />

diviene un particolare problema di DM di tipo<br />

predittivo<br />

29


Analisi degli outlier<br />

Outlier: valori dei dati inusuali (non consistenti o<br />

significativamente diversi dal resto degli esempi)<br />

Una definizione esatta di un outlier dipende dalle<br />

assunzioni relative alla struttura dei dati e<br />

all’applicazione della tecnica di DM<br />

Definizioni generali:<br />

<br />

Hawkins (Identification of Outlier. Chapman and Hall.<br />

1980) “Osservazione che devia così tanto dalle altre<br />

osservazioni da suscitare il sospetto che sia stata generata<br />

da un meccanismo diverso ”<br />

Analisi degli outlier<br />

<br />

<br />

<br />

Barnett e Lewis (Outlier in Statistical <strong>Data</strong>. John Wiley<br />

1994) “un outlier è una osservazione che sembra deviare<br />

notevolmente dalle altri componenti dell’esempio in cui<br />

esso occorre”<br />

Johnson (Applied Multivariate Statistical Analysis. Prentice<br />

Hall, 1992) “osservazione in un dataset che sembra essere<br />

inconsistente con il rimanente insieme dei dati”<br />

La scoperta degli outlier può rappresentare un vero e<br />

proprio processo di DM<br />

individuazione di transazioni economiche fraudolente con carte<br />

di credito, intrusioni non autorizzate in reti private, ecc.<br />

30


Analisi degli outlier<br />

Molti metodi di DM cercano di minimizzare<br />

l’influenza degli outlier o di eliminarli durante la fase<br />

di pre-processing<br />

l’eliminazione di outlier è un processo delicato (può far<br />

perdere informazioni)<br />

Formalmente:<br />

il processo di individuazione ed eliminazione degli<br />

outlier può essere descritto come il processo di<br />

selezione di K degli n esempi che sono dissimili,<br />

eccezionali o inconsistenti con il resto del dataset<br />

Analisi degli outlier:<br />

tassonomia dei metodi<br />

<br />

I metodi per l’identificazione degli outlier possono essere<br />

suddivisi in:<br />

metodi univariati (assumono che i dati siano iid)<br />

metodi multivariati<br />

metodi parametrici (o statistici)<br />

assumono che sia nota una distribuzione delle osservazioni o una<br />

stima statistica di essa<br />

etichettano come outlier quelle osservazioni che si discostano<br />

dalle assunzioni sul modello<br />

inadatti per dataset di dimensione elevata e/o dataset privi di<br />

conoscenza a priori sulla distribuzione dei dati<br />

metodi non parametrici (metodi model-free)<br />

metodi basati sulla distanza<br />

tecniche di clustering (cluster di piccole dimensioni considerati<br />

come cluster di outlier)<br />

31


Analisi degli outlier – Caso<br />

monodimensionale<br />

<br />

<br />

<br />

Analisi statistica di media e varianza (metodo più<br />

semplice)<br />

Calcolando media e varianza è possibile stabilire un<br />

valore di soglia che sia funzione della varianza<br />

tutti i valori che superano la soglia sono potenziali outlier<br />

Problema: assunzione a priori di una distribuzione dei<br />

dati (nei casi reali la distribuzione è incognita)<br />

es: ETA’={3,56,23,39,156,52,41,22,9,28,139,55,20,<br />

-67,37,11,55,45,37}<br />

media: 39.9, standard deviation: 45.65<br />

soglia: threshold = media ± 2×standard deviation [-54.1, 131.2]<br />

età numero positivo [0, 131.2]<br />

I valori 156, -67, 139 sono outlier (presumibilmente typo-error)<br />

Analisi degli outlier – Caso<br />

multidimensionale<br />

<br />

<br />

<br />

<br />

Individuazione degli outlier in base alle distanze<br />

gli outlier sono gli esempi che non hanno abbastanza esempi<br />

vicini<br />

Formalmente:<br />

un esempio s i è un outlier se almeno un sottoinsieme (frazione)<br />

di p esempi nel dataset si trova ad una distanza da s i maggiore<br />

di una prefissata quantità d<br />

Il metodo si basa sull’assegnazione a-priori dei parametri<br />

p e d<br />

La complessità computazionale del metodo è data dal<br />

calcolo di una misura di distanza tra tutti gli esempi di un<br />

dataset n-dimensionale<br />

32


Analisi degli outlier – Caso<br />

multidimensionale<br />

Diversi tipi di distanze possono essere adottate<br />

<br />

Distanza di Mahalanobis<br />

Calcolo della matrice di covarianza associata al dataset<br />

n<br />

1<br />

T<br />

Vn<br />

= ∑(<br />

xi<br />

− xn)(<br />

xi<br />

− xn)<br />

n −1<br />

i=<br />

1<br />

La distanza di Mahalanobis per ciascun dato multivariato (viene<br />

calcolata per tutti gli n campioni) è:<br />

n<br />

⎛<br />

T −1<br />

⎞<br />

Mi = ⎜∑(<br />

xi<br />

− xn<br />

) Vn<br />

( xi<br />

− xn)<br />

⎟ i = 1,...,<br />

n<br />

⎝ i=<br />

1<br />

⎠<br />

1/2<br />

<br />

outlier osservazione con valore M i grande<br />

Analisi degli outlier – Tecniche<br />

basate sulla deviazione<br />

<br />

<br />

<br />

<br />

Le tecniche basate sulla deviazione simulano il modo umano<br />

di riconoscere gli esempi inusuali<br />

Questa classe di metodi si basa su funzioni di dissimilarità<br />

(sequential-exception technique):<br />

<br />

<br />

si stabiliscono le caratteristiche di base per un insieme di esempi<br />

si riconoscono gli outlier tra gli elementi i cui valori deviano da tali<br />

caratteristiche<br />

Esempio di funzione di dissimilarità per un insieme di n dati:<br />

<br />

varianza totale dell’insieme di dati<br />

Occorre inoltre definire un sottoinsieme di esempi da<br />

rimuovere dal dataset per determinare la massima riduzione<br />

del valore della funzione di dissimilarità quando questa è<br />

calcolata sull’insieme residuo<br />

33


Esplorazione grafica di<br />

dati multivariati<br />

N. Del Buono<br />

Introduzione<br />

<br />

<br />

<br />

<br />

I metodi di esplorazione grafica (o visuale) permettono<br />

l’identificazione di strutture nei dati<br />

I metodi visuali rivestono un ruolo primario nell’esplorazione dei<br />

dati in virtù della capacità (acquisita in millenni di evoluzione) del<br />

sistema occhi-cervello di individuare strutture che presentano<br />

delle similarità<br />

I metodi visuali rivestono un ruolo importante nel processo di<br />

KDD-DM, sebbene presentino numerose limitazioni soprattutto<br />

nel trattamento di dataset molto grandi<br />

I metodi visuali sono noti anche come metodi “data-driven<br />

hypothesis generation” e si contrappongono ai metodi di verifica<br />

“hypothesis testing”<br />

34


Introduzione<br />

<br />

Esamineremo alcuni metodi di esplorazione grafica<br />

cosiddetti “informali”, che sono stati largamente<br />

utilizzati in diversi contesti per l’analisi dei dati<br />

semplici statistiche<br />

meccanismi per la visualizzazione di singole variabili<br />

meccanismi per il rilevamento di relazioni tra due variabili<br />

meccanismi per il rilevamento di relazioni tra più di due<br />

variabili<br />

Riassumere i dati mediante<br />

semplici statistiche<br />

La media aritmetica dei dati (“sample mean” )<br />

rappresenta una semplice informazione sul valore medio<br />

dei dati (stima del valore medio reale della variabile<br />

aleatoria di cui i dati rappresentano una campionatura)<br />

⌢ v ( i)<br />

µ = ∑<br />

i n<br />

û è il valore “centrale” nel senso che minimizza la<br />

somma delle differenze al quadrato tra esso e i dati<br />

û è una misura del “posizionamento” (o misura di<br />

posizione) dei dati<br />

35


Riassumere i dati mediante<br />

semplici statistiche<br />

<br />

<br />

Una ulteriore misura del “posizionamento” dei dati è<br />

fornita dalla mediana<br />

La mediana è definita come quel valore che divide<br />

a metà l’insieme dei dati, pertanto l'insieme dei<br />

valori è per metà minore e per metà maggiore<br />

della mediana<br />

valore che possiede uno stesso numero di punti al di sotto<br />

e al di sopra di essi<br />

<br />

<br />

è il dato centrale della distribuzione<br />

è meno sensibile della media aritmetica ai valori estremi<br />

Riassumere i dati mediante<br />

semplici statistiche<br />

<br />

Fasi operative per il calcolo della mediana<br />

1. ordinamento crescente dei dati<br />

2. se il numero di dati n è dispari, la mediana<br />

corrisponde al dato che occupa la (n+1)/2-ima<br />

posizione<br />

3. se il numero di dati n è pari, la mediana è data<br />

dalla media aritmetica dei due dati che occupano<br />

la posizione n/2 e quella n/2+1<br />

36


Riassumere i dati mediante<br />

semplici statistiche<br />

<br />

Esempio di calcolo della mediana<br />

dati : {8, 5, 7, 6, 35, 5, 4}<br />

ridisposizione in ordine crescente: {4, 5, 5, 6, 7, 8, 35}<br />

Calcolo della posizione centrale (n+1)/2 = 4, la mediana è 6<br />

Valore tipico nel senso che si avvicina ad una buona parte dei valori<br />

del campione.<br />

dati : {8, 5, 7, 6, 5, 4}<br />

ridisposizione in ordine crescente: {4, 5, 5, 6, 7, 8},<br />

n è pari, la mediana è la media dei valori che occupano le posizioni<br />

(n/2) ed [(n/2)+1] nell'insieme ordinato dei numeri<br />

elemento di posizione (n/2) = 3 è elemento di posizione<br />

[(n/2)+1]= 4 la mediana vale (5+6)/2=5.5<br />

Riassumere i dati mediante<br />

semplici statistiche<br />

Quando una variabile è di tipo quantitativo<br />

discreto (o continua categorizzata), l’indice di<br />

tendenza centrale adeguato a rappresentare<br />

la distribuzione è la moda<br />

<br />

La moda è l’osservazione che si riscontra con<br />

maggiore frequenza in una data distribuzione<br />

Si possono avere anche più valori modali<br />

(distribuzione bimodale, multimodale)<br />

La moda è molto sensibile alla grandezza e<br />

al numero delle classe<br />

37


Riassumere i dati mediante<br />

semplici statistiche<br />

<br />

Confronto tra diversi indici di tendenza centrale<br />

la moda è l’indice meno informativo in quanto, essendo<br />

calcolato sulle frequenze, prescinde totalmente dalla<br />

natura numerica dalle osservazioni,<br />

<br />

<br />

fornisce conoscenza sul dato che ha la maggiore<br />

probabilità di presentarsi<br />

la mediana è più informativa della moda e considera anche<br />

l’ordine tra le osservazioni<br />

utilizzata per suddividere la distribuzione in parti uguali<br />

vantaggio di non essere influenzata da grandi differenze<br />

quantitative tra i dati, ma solo dalla posizione<br />

la media è l’indice più informativo in quanto considera<br />

anche la distanza tra le osservazioni<br />

si utilizza per esprimere un concetto di equidistribuzione<br />

Riassumere i dati mediante<br />

semplici statistiche<br />

<br />

Altre misure di posizione dei dati individuano diverse<br />

regioni dalla distribuzione dei valori dei dati<br />

percentili o centili: valori al di sotto dei quali si trova una<br />

determinata percentuale della distribuzione dei dati<br />

<br />

i quartili separano i dati in 4 parti uguali<br />

<br />

<br />

<br />

25° percentile o primo quartile (la mediana della parte<br />

inferiore dei dati)<br />

50° percentile mediana<br />

75° percentile o terzo quartile (la mediana della parte<br />

superiore dei dati)<br />

38


Riassumere i dati mediante<br />

semplici statistiche<br />

Misure di dispersione o di variabilità<br />

La media è la misura della localizzazione centrale<br />

della distribuzione di una serie di dati<br />

Dati con la stessa media possono avere un grado molto<br />

diverso di variazione<br />

Per esprimere tali variazioni si utilizza la media come punto<br />

di riferimento di ciascun valore e si calcola la deviazione di<br />

ciascun valore dalla media<br />

<br />

<br />

deviazione standard (radice quadrata della varianza)<br />

2<br />

2 ( v(<br />

i)<br />

− ˆ µ )<br />

varianza σ = ∑<br />

n<br />

<br />

<br />

i<br />

più σ 2 e σ sono piccoli più i dati sono concentrati<br />

più σ 2 e σ sono grandi più i dati sono dispersi<br />

Riassumere i dati mediante<br />

semplici statistiche<br />

<br />

Un ulteriore modo di esprimere la variabilità di un<br />

insieme di dati è quello di utilizzare il range o<br />

campo di variazione<br />

range: differenza tra il più grande e il più piccolo valore<br />

presente nei dati<br />

rappresenta l’ampiezza dell’intervallo dei dati<br />

tiene conto solo dei valori estremi trascurando tutti gli altri<br />

nel caso in cui i dati siano pochi si ottiene una stima<br />

erronea del range di popolazione<br />

tende ad aumentare con l’aumento del numero delle<br />

osservazioni<br />

39


Riassumere i dati mediante<br />

semplici statistiche<br />

Range o differenza interqualile: differenza tra<br />

il terzo ed il primo quartile<br />

<br />

<br />

elimina l’influenza dei valori estremi<br />

relativamente indipendente dalla numerosità del<br />

campione<br />

Visualizzazione grafica di<br />

singole variabili: istogramma<br />

Un istogramma è un grafico compatto per<br />

rappresentare una serie di dati<br />

(generalmente continui)<br />

Costruire un istogramma per dati continui<br />

<br />

dividere il range dei dati in intervalli (detti classi<br />

di intervallo, celle, o semplicemente colonne)<br />

se possibile, le colonne dovrebbero essere di uguale<br />

“larghezza”, per aumentare l’informazione visiva<br />

40


Visualizzazione grafica di<br />

singole variabili: Pareto chart<br />

<br />

Una significativa variazione dell’istogramma è il<br />

diagramma di Pareto (Pareto Chart)<br />

in economia “principio di Pareto” : modo di<br />

rappresentare in forma grafica gli aspetti prioritari da<br />

affrontare per risolvere un problema<br />

usato nei processi di miglioramento della qualità, dove<br />

i dati di solito presentano diversi tipi di difetti, errori e<br />

non conformità, o altre categorie di interesse per<br />

l’analisi<br />

Visualizzazione grafica di<br />

singole variabili: Pareto chart<br />

Diagramma di Pareto è un istogramma con<br />

celle ordinate in senso decrescente affiancato<br />

dal grafico delle frequenze cumulate (detto<br />

curva di Lorenz)<br />

<br />

<br />

le categorie sono ordinate in modo tale che quella con<br />

maggior frequenza si trovi sulla sinistra del grafico,<br />

seguita da quelle di frequenza minore<br />

permette di stabilire quali sono i maggiori fattori che<br />

hanno influenza su un dato fenomeno<br />

41


Visualizzazione grafica di<br />

singole variabili: box-plot<br />

Un buon sistema per rappresentare<br />

graficamente i dati è la cosiddetta<br />

<br />

<br />

<br />

"Tecnica dei 5 numeri" o "Box and wiskers plot"<br />

(letteralmente: diagramma a scatola e baffi)<br />

la "scatola" comprende la mediana ed è delimitata<br />

dal 25° e dal 75° percentile<br />

i "baffi" limitano i valori minimo e massimo<br />

Visualizzazione grafica di singole<br />

variabili: box-plot<br />

<br />

Box-and-whisker plots sono utili per interpretare la<br />

possibile distribuzione dei dati<br />

Rappresentano il grado di dispersione o<br />

variabilità dei dati (rispetto mediana e/o<br />

media)<br />

evidenziano le eventuali simmetrie<br />

evidenziano la presenza di valori anomali<br />

evidenziano il range inter-quartile ovvero la<br />

dispersione dei dati<br />

42


Visualizzazione grafica di singole<br />

variabili: box-plot (esempio)<br />

<br />

<br />

<br />

<br />

Esempio di costruzione di un box-plot<br />

Dati relativi ai punteggi acquisiti da un insieme di<br />

studenti<br />

dati: 80, 75, 90, 95, 65, 65, 80, 85, 70, 100<br />

Si ordinano i dati in ordine crescente<br />

si determina il primo quartile, la mediana, il terzo<br />

quartile, il più grande ed il più piccolo valore:<br />

mediana = 80<br />

primo quartile = 70<br />

terzo quartile = 90<br />

Valore minimo = 65<br />

Valore massimo = 100<br />

Visualizzazione grafica di singole<br />

variabili: box-plot (esempio)<br />

65, 65, 70, 75,80, 80, 85, 90, 95 ,100<br />

Primo quartile<br />

Mediana<br />

(secondo quartile)<br />

Terzo quartile<br />

65 70 75 80 85 90 95 100<br />

43


Visualizzazione grafica di<br />

coppie di variabili: Scatterplot<br />

Scatter plot o diagramma di dispersione<br />

(scatter plot) è un grafico cartesiano formato<br />

dai punti ottenuti rilevazione di due variabili<br />

numeriche<br />

Variabile descrittiva (explanatory variable)<br />

Variabile suscettibile (response variable)<br />

Visualizzazione grafica di<br />

coppie di variabili: Scatterplot<br />

Alcune proprietà statistiche della distribuzione<br />

(posizione, dispersione, correlazione, dati<br />

anomali) possono essere dedotte dalla nuvola<br />

di punti<br />

posizione, coesione interna, orientamento,<br />

presenza di punti isolati<br />

<br />

possibili associazioni tra due variabili<br />

Associazione positiva trend in salita<br />

Associazione negativa trend in discesa<br />

Nessun trend mancanza di associazione<br />

44


Visualizzazione grafica di dati<br />

multivariabili: Scatter-matrix<br />

Un insieme di dati multivariati (più di due<br />

variabili) permette di ottenere diversi scatter<br />

plot per ciascuna coppia di variabili<br />

Si ottiene cosi la matrice degli scatterplot<br />

matrice simmetrica p×p (le p righe e p<br />

colonne corrispondono a ciascuna<br />

variabile) di scatterplot bivariati<br />

nella posizione ij grafico della variabile j<br />

rispetto la variabile i<br />

la stessa variabile compare nella posizione ji<br />

in cui gli assi x ed y sono scambiati<br />

Visualizzazione grafica di dati<br />

multivariabili: Co-plot<br />

<br />

<br />

<br />

Un grafico coplot è una successione di scatter-plot<br />

di tipo “conditionato”<br />

ciascun diagramma corrisponde a un particolare intervallo<br />

di valori di una terza variabile o fattore di condizionamento<br />

Metodo di visualizzazione che permette di<br />

evidenziare come una variabile di output dipende da<br />

una variabile di input date altre variabili descrittive<br />

Diverse modalità di rappresentazione<br />

Given panels: intervalli di variabilità della variabile<br />

“condizionata”<br />

Dependence panels: scatterplot bivariati della variabile<br />

“suscettibile” rispetto le restanti variabili descrittive<br />

45


Visualizzazione grafica di dati<br />

multivariabili: diagrammi di Trellis<br />

I coplot sono esempi di metodi di visualizzazione<br />

più generali noti come diagrammi di Trellis.<br />

I diagrammi (o grafici) di Trellis permettono di<br />

visualizzare l’esistenza di strutture nei dati<br />

mediante l’utilizzo di grafici 1D,2D o 3D.<br />

Visualizzazione le relazioni all’interno di grandi<br />

dataset distinguendo diversi gruppi di variabili<br />

Visualizzazione grafica di dati<br />

multivariabili: diagrammi di Trellis<br />

Multipanel conditioning<br />

Visualizzazione del cambiamento delle relazioni<br />

tra due variabili in funzione di una o più variabili<br />

condizionate<br />

Rappresentazione di diversi tipi di grafici in un<br />

range di valori relativo alle variabili selezionate.<br />

46


Esempio: IRIS data<br />

Classificazione di tre tipi di fiori iris: Setosa,<br />

Versicolor, Virginica.<br />

Iris Setosa Iris Versicolor Iris Virginica<br />

Esempio: IRIS data<br />

<br />

Il dataset IRIS è costituito da 150 esempi di fiori<br />

iris catalogati in base ad una analisi di 4 attributi<br />

(variabili di input):<br />

Lunghezza e larghezza dei sepali (elementi<br />

costitutivi del calice del fiore)<br />

Lunghezza e larghezza dei petali (elemento<br />

costitutivo della corolla del fiore)<br />

Ogni campione del data set è un vettore di 5<br />

dimensioni (4 variabili continue, 1 categorica)<br />

attributi dei fiori (input)<br />

classe (output)<br />

5.4 3.9 1.7 0.4<br />

Iris-virginica<br />

47


Esempio: IRIS data<br />

<br />

Esempio di scatterplot bivariato<br />

<br />

(lungh. Sepali, lungh. Petali)<br />

Scatterplot matrix: IRIS data<br />

48


Box-and-whisker plot: IRIS data<br />

Diagramma di Trellis: Iris <strong>Data</strong><br />

Esempio di diagramma di Trellis<br />

Grafico 3D<br />

lunghezza dei sepali (asse x),<br />

larghezza dei sepali (asse y)<br />

larghezza dei petali (asse z)<br />

Condizionato alla:<br />

Lunghezza dei petali<br />

Specie di fiore<br />

49


Diagramma di Trellis: Iris <strong>Data</strong><br />

setosa<br />

setosa<br />

Petal L.: [1.0 4.4] Petal L.: [4.4 7.1]<br />

versicolor<br />

versicolor<br />

Petal L.: [1.0 4.4] Petal L.: [4.4 7.1]<br />

WEKA<br />

<br />

Che cosa è WEKA?<br />

WEKA acronomo di “Waikato Environment for Knowledge<br />

Analysis”<br />

<br />

sviluppato dall’Università di Waikato (Nuova Zelanda) a<br />

partire dal 1993<br />

collezione di algoritmi di machine learning per il <strong>Data</strong><br />

<strong>Mining</strong><br />

contiene algoritmi per il pre-processing, la classificazione,<br />

la regressione, il clustering, la visualizazione grafiac, ecc.<br />

scritto in Java, open source, rilasciato con licenza GNU<br />

50


WEKA<br />

L'interfaccia grafica di Weka è composta da:<br />

<br />

<br />

<br />

Simple CLI: l'interfaccia dalla linea di comando;<br />

Explorer: consente di esplorare i dati attraverso i<br />

comandi WEKA<br />

Experimenter: permette di testare diversi algoritmi<br />

di data mining<br />

Sito Ufficiale:<br />

http://www.cs.waikato.ac.nz/ml/weka/<br />

51

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!