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.