6
permettono di evidenziare particolari caratteristiche e particolari
informazioni nei dati.
La tesi è articolata nel seguente modo:
Il primo capitolo fornisce una overview su cosa si intende per Data
Mining e quali sono le principali tecniche utilizzate per l’estrapolazione di
nuove informazioni.
Inoltre il capitolo contiene una descrizione dei vari metodi di
clusterizzazione, una descrizione dell’analisi, predizione e classificazione
dei dati eventualmente partizionati.
Il secondo capitolo fornisce una descrizione delle funzionalità del
sistema di Visual Data Mining Eureka!. Viene inizializzata un introduzione
di cosa è la Singular Value Decomposition per poi essere descritta in modo
più minuzioso nel successivo capitolo.
Infine, viene mostrata l’applicazione dell’SVD nel campo del Data
Mining.
Nel terzo capitolo viene descritto in modo approfondito la
fattorizzazione del dataset di partenza posto sottoforma matriciale
evidenziando una prima ricombinazione lineare degli elementi della
matrice di partenza e successivamente descrivendo le modalità di
costruzione delle matrici U, V e Λ come combinazione lineare degli
elementi della matrice di partenza precedentemente ricombinati.
7
Nel quarto capitolo si procede alla descrizione dell’implementazione
della classe relativa alla visualizzazione delle caratteristiche dei dati di
partenza (matrice V) e successivamente vengono illustrate le modalità di
implementazione della suddetta classe evidenziandone i passi salienti.
Inoltre mettendo a fuoco le potenzialità dell’applicazione dell’ SVD,
relativamente ad un determinato dataset, vengono evidenziati i benefici
relativi all’introduzione del suggerimento legato a tale visualizzazione.
Nel quinto capitolo si procede alla descrizione dell’implementazione del
suggerimento grafico relativo all’individuazione di partizioni di dati
omogenee, evidenziando le particolarità delle modalità della visualizzazione
di tale suggerimento.
Infine nel sesto e ultimo capitolo vengono sfruttate le potenzialità del
sistema e i suggerimenti precedentemente implementati per effettuare
clustering visuale su dati microarray, di due dataset relativi a frammenti di
tessuto di due patologie tumorali: tumore del colon e leucemia, al fine di
evidenziare controtendenze e informazioni rilevanti fra i vari tipi di
frammenti di tessuto (malato e normale).
8
CAPITOLO 1
Data Mining e Knowledge Discovery in Databases (KDD)
1. 1 Data Mining
Col nome di Data Mining si intende l’applicazione di una o più tecniche
che consentono l’esplorazione di grandi quantità di dati, con l’obiettivo di
individuare le informazioni più significative e di renderle disponibili e
direttamente utilizzabili.
L’estrazione di conoscenza (informazioni significative) avviene tramite
individuazione delle associazioni, o “patterns”, o sequenze ripetute, o
regolarità, nascoste nei dati. In questo contesto un “pattern” indica una
struttura, un modello, o, in generale, una rappresentazione sintetica dei dati
Il termine Data Mining è utilizzato come sinonimo di Knowledge
Discovery in databases (KDD), anche se sarebbe più preciso parlare di
Knowledge Discovery quando ci si riferisce all’intero processo di estrazione
della conoscenza, e di Data Mining come di una particolare fase del
suddetto processo (la fase di applicazione di uno specifico algoritmo per
l’individuazione dei “patterns”).
Gli algoritmi di Data Mining sono stati sviluppati per far fronte
all’esigenza di sfruttare il patrimonio informativo contenuto nelle grandi
9
raccolte di dati che abbiamo a disposizione. Molte organizzazioni,
industriali, commerciali, scientifiche, nelle loro attività accumulano una
gran quantità di dati, ma quello che esse realmente vogliono sono le
informazioni contenute in esse.
Data Mining si riferisce all’estrazione (“mining”) di conoscenza da una
grande quantità di dati. I sistemi operazionali registrano le transazioni così
come si presentano, notte e giorno, e immagazzinano i dati in file e
databases. I dati descrivono solo quello che accade e non forniscono giudizi
o interpretazioni. Essi vengono registrati in modo sufficientemente
strutturato, così che una sessione di registrazione descrive abbastanza
chiaramente un fatto, un evento.
Avere dati non è più un problema (basti pensare alla ricchezza delle
sorgenti dei dati accessibili da Web oppure attraverso i Data Warehouse
aziendali) e neanche la loro memorizzazione in quanto i mezzi hardware
oggi a nostra disposizione ci consentono di archiviare grosse quantità di
informazioni a costi relativamente molto bassi. Il vero problema è cercare di
utilizzare tutti questi dati, estrarne informazioni utili, tirare fuori nuova
conoscenza.
Il progredire delle tecniche di cattura e immagazzinamento dei dati ha
spinto le organizzazioni di ogni genere a collezionare enormi quantità di
dati poiché essi raccolti in strutture più o meno complesse, contengono delle
10
risorse, delle informazioni sfruttabili, evidenti o nascoste, con differenti
gradi di utilità.
1.2 Data Warehouse
I dati possono essere oggi conservati in differenti tipi di databases.
Un’architettura di database che è recentemente emersa è il Data Warehouse,
un repository di sorgenti di dati eterogenei, organizzati sotto uno schema
unificato.
Una definizione di Data Warehouse ben accettata è stata fornita da
Immon nel 1992 [1] ed è la seguente:
Un Data Warehouse è una collezione di dati orientata ai soggetti, integrata,
variabile nel tempo e non volatile, per il sostegno alle gestione delle
decisioni.
Orientata ai soggetti: i dati sono definiti e organizzati in termini
affaristici, raggruppati sotto etichette orientate ai soggetti (“Clienti”,
“Vendite”).
Integrata: gli oggetti del Data Warehouse sono definiti in modo tale che
risultino validi per l’impresa e le sue sorgenti operazionali e le sorgenti
esterne. Ad esempio tutte le occorrenze di elementi comuni di dati, come il
numero di un cliente, devono essere rappresentate consistentemente per
permettere la realizzazione di resoconti consistenti del Data Warehouse.
11
Variabile nel tempo: ogni dato nel Data Warehouse è marcato nel tempo
al momento dell’ingresso nel Data Warehouse stesso. Così si realizza una
registrazione cronologica che permette l’analisi storica. Non volatile: una
volta caricati nel Data Warehouse, i dati non vengono più modificati. Così
diventano una risorsa stabile per la realizzazione di rapporti e per le analisi
comparative.
L’architettura di un Data Warehouse è costituita essenzialmente dai
seguenti componenti principali:
• sistemi sorgenti, da dove scaturiscono i dati;
• trasporto dei dati e pulizia, muove i dati fra diversi dispositivi di
memorizzazione e si occupa della pulizia dei dati (consistenza);
• deposito centrale, è il principale dispositivo di memorizzazione del Data
Warehouse;
• metadati, descrivono cosa è disponibile e dove;
• data marts, forniscono accessi veloci e specializzati ai dati per gli
utilizzatori finale per le applicazioni;
• feedback operazionali, integra le decisioni suggerite dai dati all’interno del
sistema;
• utenti finali, sono la ragione principale per la quale si sviluppa il Data
Warehouse.
12
I sistemi sorgenti forniscono al Data Warehouse i dati in forma grezza. Gli
strumenti per il trasporto dei dati e la pulizia si riferiscono
fondamentalmente al software usato per muovere i dati.
Il deposito centrale è la parte più tecnicamente avanzata del Data
Warehouse , si tratta di un database che contiene i dati.
1.3 Knowledge Discovery in Databases (KDD)
Molte persone trattano il Data Mining come sinonimo di Knowledge
Discovery in databases (KDD) [2]. Invece il Data Mining è un passo
essenziale nel processo di Knowledge Discovery in databases:
l’applicazione di specifici algoritmi per l’estrazione dei patterns. Esso,
insieme agli altri passi nel processo di KDD, come ad esempio la
preparazione, la selezione, la pulizia dei dati (data cleaning),
l’incorporamento di conoscenza già acquisita, l’interpretazione dei risultati,
assicurano e garantiscono che la conoscenza estratta sia effettivamente
valida. Al contrario, l’applicazione alla cieca dei metodi di Data Mining può
risultare una attività rischiosa che porta alla scoperta di patterns non
significativi..
Il KDD è nato ed evolve dall’incrocio di numerose ricerche in diversi
campi di studio come machine learning [3], riconoscimento dei patterns,
statistica, intelligenza artificiale, ragionamento sotto incertezza, sistemi
13
esperti per acquisizione di conoscenza, visualizzazione dei dati, machine
discovery, scientific discovery, recupero di informazione, elaborazione ad
alte prestazioni e chiaramente anche dall’ambito della gestione di databases:
i sistemi software per KDD inglobano teorie, algoritmi e metodi estratti da
tutti questi campi.
La struttura principale dell’intero processo di estrazione della
conoscenza (KDD), consiste nell’iterazione dei seguenti passi:
Figura 1.1. Struttura del Processo KDD
14
1. Data Cleaning ( rimuove errori e dati inconsistenti)
2. Data Integration ( dove più sorgenti di dati possono essere integrati)
3. Data Selection ( dove i dati rilevanti da analizzare sono recuperati dal
database)
4. Data Trasformation (dove i dati sono trasformati in forme appropriate
compiendo per esempio operazioni di aggregazione)
5. Data Mining ( un processo essenziale dove sono applicati metodi
intelligenti in modo da estrarre patterns di dati)
6. Pattern Evalution ( identifica i patterns realmente interessanti )
7. Knowledge Presentation (dove vengono applicate le tecniche di
rappresentazione della conoscenza per rappresentare la conoscenza scoperta
dall’utente).
Il passo di Data Mining può interagire con l’utente o con la base di
conoscenza.
I pattens interessanti sono presentati all’utente e possono essere
memorizzati come nuova conoscenza nella base di conoscenza.
L’architettura di un tipico sistema KDD può avere i seguenti componenti:
• Database, Data Warehouse, o altri Repository: Consiste di uno o di un set
di databases, Data Warehouse, fogli di calcolo, o altri tipi di repositories di
informazioni Le tecniche di data cleaning e di data integration sono
applicate sui dati contenenti in questi repositories.