Università degli Studi di Milano
Polo Didattico e di Ricerca di Crema
Facoltà di Scienze Matematiche, Fisiche e Naturali
Corso di Sistemi Informativi
Data Mining applicato ai
sistemi informativi, una
panoramica dei principali
algoritmi
Studenti:
Massimo Manara 656814
Andrea Gobbi
651008
Docente del corso:
Enrico Spoletini
Anno Accademico 2005/2006
.
.
Indice
3
Indice
1 Introduzione
4
2 Cosa è il Data Mining
2.1 Un pò di storia . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2 Interdisciplinare . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3 Il processo . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
5
5
6
3 Alcune tecniche
3.1 Mining association rules
3.2 Alberi di decisione . . .
3.3 GA - Algoritmi genetici
3.4 Software . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
8
9
10
10
12
4 CRM - Customers Oriented
14
5 Quali standard
15
6 E la Privacy?
16
A Articolo
17
A.1 Il data mining non serve per sconfiggere il terrorismo, ma si
diffonde in Usa. . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Bibliografia
20
4
1 Introduzione
1
Introduzione
In ogni momento della nostra giornata siamo assaliti da moltissimi dati ed
informazioni è importante tuttavia definire nel modo più chiaro possibile la
distinzione tra dato ed informazione:
• Dato1 : è qualcosa che possiamo vedere, ascoltare; per fare un esempio,
un dato può essere un libro.
• Informazione2 : l’informazione, ci dà qualcosa in più sul dato; nell’esempio fatto prima l’informazione del dato libro potrebbe essere il
titolo, l’editore, il numero di pagine del libro [7].
Il data mining è un processo tramite il quale è possibile sapere sulla base di
molti dati gli andamenti delle vendite, delle offerte; nel caso di un supermercato.
Questa tecnica, può inoltre essere applicata a moltissimi campi; ed a sua
volta fà uso di moltissime discipline: matematica, statistica, chimica, fisica,
economia. . . Il data mining può essere visto come il naturale sviluppo dell’IT,
inoltre deve essere visto come risultato di un process.
1
Per dato nella legge italiana, si intende informazione codificata da un pc.
Per informazione nella legge italiana, si intende delle informazioni non contenute
all’interno del pc.
2
2 Cosa è il Data Mining
2
5
Cosa è il Data Mining
Traducendo letteralmente il termine, si trova: miniera di dati; interpretando
il termine nel contesto informatico, si può capire come questa sia la base di
partenza di un processo che prende il nome di data mining.
In altre parole, è un processo attraverso il quale è possibile grazie ad una
quantità notevole di dati e attraverso particolari algoritmi, estrarre delle
informazioni nascoste: estrarre la conoscenza; knowledge [1].
2.1
Un pò di storia
Figura 1: L’evoluzione della tecnologia dei database
2.2
Interdisciplinare
Le tecniche di data minig, possono essere applicate in moltissimi ambiti:
ambito biomedico e DNA analysis, analisi finanziarie, telecomunicazioni. . . a
6
2 Cosa è il Data Mining
sua volta la tecnica di DM, si basa molte altre discipline. Alcuni esempi:
• Data Mining
– Database technology
– Informatica
– Statistica
– Tecniche di visualizzazione dei dati
– Machine Learning (apprendimento automatico);
infatti, l’identificazione di pattern può paragonarsi all’apprendimento, da parte del sistema data mining, di una relazione causale
precedentemente ignota, cosa che trova applicazione in ambiti come quello degli algoritmi euristici e della intelligenza artificiale
[4].
– Altre
2.3
Il processo
Il processo di data mining è formato da varie fasi:
• Data Cleaning
In applicazioni reali, è difficile a volte riuscire a definire con precisione
e con completezza le informazioni; consideriamo per esempio il caso di
un database contenente dati identificativi di persone; non è detto che
conosca tutti i dati di tutti i record.
Come sopperire a questo problema:
– Tuple Ignorate
– Uso di attributi per completare quelli mancanti
– Usare il valore più probabile per completare quello mancante
– Correzione dei dati inconsistenti, riferimenti esterni.
• Data Integration
Sempre più spesso, ed anche per motivi di prestazioni, i database sono
distribuiti; progettati su piattaforme uguali, in questo caso non ci sono
problemi o su piattaforme diversificate ed in questo caso possono sorgere problemi di integrazione appunto.
Per risolvere questo problema, vanno considerati anche aspetti come
la ridondanza3 delle informazioni al fine di ridurre al minimo sprechi
3
Si intende un dato che può essere ricavato da altre tabelle
2 Cosa è il Data Mining
7
e perdita di prestazioni. Questi dati ridondanti possono essere trovati
grazie ad una analisi di correlazione:
rA,B
P
(A − Ā) · (B − B̄)
=
(n − 1)σa σB
(1)
dove con n, si indica il numero di tuple, con Ā e B̄ il significato4 e σA ,
σB , la deviazione standard5 . Se il risultato dell’equazione (1) è maggiore di 0 allora A e B sono correlati; cioè se cresce il valore di A anche
B cresce. Se il valore è zero allora A e B sono indipendenti; mentre se
il risultato è minore di zero A e B sono correlati negativamente, cioè se
A cresce, B diminuisce.
• Data Trasformation
In questa fase si cerca di trasformare o consolidare i dati affinché la
forma di questi sia la più adatta alla applicazione degli algoritmi. In
genere si procede in vari passi:
– Caratteristiche comuni (Smoothing): cluster, cioè avere gruppi di
dati con caratteristiche comuni vedi Figura 2 a Pagina 7
Figura 2: Cluster Analisi
4
Significato:
X
A
Ā = n .
5
Deviazione
standard:
sX
(A − Ā)2
σA =
n−1
8
3 Alcune tecniche
– Aggregazione: raggruppare i dati per mese di vendita ad esempio, per anno per settimana (Usato nella Data-Cube analisys,
raggruppare dati secondo delle direzioni rappresentate sul cubo).
– Generalizzazione: dividere i dati in livelli di importanza, es. città,
via, numero civico. . .
– Costruzione di attributi: per favorire il processo di ricerca, aggiungere nuovi attributi se necessario
• Data Mining
L’algoritmo usato viene eseguito su i dati al fine di produrre i risultati.
• Pattern evaluation
Al fine di valutare se il pattern è valido, si cerca di rispondere alle
seguenti domande: capire se è di facile lettura per l’uomo, se sono interessanti tutti i patterns oppure solo alcuni; nella maggior parte dei
casi solo alcuni.
La risposta a queste domande è definita con una probabilità rappresentata dai concetti di supporto e confidenza [5].
Definiti come:
– supporto(X ⇒ Y ) = P (X ∪ Y ).
– conf idenza(X ⇒ Y ) = P (Y |X).
Il primo rappresenta la percentuale di transazioni dove sono contenute
sia X che Y ; mentre il secondo rappresenta la probabilità che una
transazione che contiene X, contenga Y. Un esempio si può ottenere
sostituendo ad X e Y dei valori ad esempio X = birra, Y = pannolini.
3
Alcune tecniche
Esistono parecchi modi di analizzare i dati al fine di giungere a delle conclusioni; molti algoritmi già esistenti e molti studi ancora sono in continuo
sviluppo per cercarne di nuovi e migliorarne, ottimizzarne altri.
Alcuni di questi sono:
• Mining Association rules
Applicata soprattutto nella MBA: Market basket Analysis
• Classification and Prediction
Fanno parte di questa categoria i metodi Bayesiani, i GA Genetic
Algorithms, approcci Fuzzy
• Cluster Analysis
3 Alcune tecniche
3.1
9
Mining association rules
Come già accennato questa tecnica viene usata nella Market Basket Analysis,
la quale cerca di dare una risposta alla domanda
Quale oggetti sono acquistati insieme da un acquirente?
Tabella 1: Base di dati per “basket analysis”
Transazione
1
1
2
2
2
3
4
4
Data
Oggetto
17/12/98 pantaloni-sci
17/12/98
scarponi
18/12/98
maglietta
18/12/98
giacca
18/12/98
stivali
18/12/98
giacca
19/12/98
giacca
19/12/98
maglietta
Qta
1
1
1
1
1
1
1
3
Prezzo
140 e
180 e
25 e
300 e
670 e
300 e
300 e
25 e
Questa tecnica si basa sull’uso dei concetti di supporto e confidenza presentati
nella Sezione 2.3 a Pagina 6.
Tabella 2: Regole di associazione
Testa
pantaloni-sci
scarponi
...
giacche
magliette,stivali
...
a
b
Corpo
scarponi
pantaloni-sci
...
magliette
giacche
...
Supporto Confidenza
0.25a
1
0.25
1
...
...
0.5
0.66b
0.25
1
...
...
Numero di transazioni dove c’è sia il corpo che la testa diviso il numero di transazioni
totale; vedi Tabella 1 a Pagina 9
Numero di transazioni dove c’è sia il corpo che la testa diviso il numero di transazioni
dove è presente il corpo vedi Tabella 1 a Pagina 9
10
3 Alcune tecniche
3.2
Alberi di decisione
Un albero di decisione è un diagramma simile ad una struttura ad albero
(vedi Figura 3 a Pagina 10), dove ogni nodo ha al suo interno ha un test
su un attributo ed ogni scelta, rappresenta un risultato del test; le foglie
dell’albero rappresentano la classe o le classi di distribuzione.
Questo algoritmi si basa sulla tecnica greedy.
Figura 3: Albero di decisione
La Figura 3 mostra l’albero delle decisioni del concetto di acquirenti di computer; indica se una persona in base all’età compra o meno un pc. Il percorso
nodo radice, foglia, risulta essere la classe di previsione.
3.3
GA - Algoritmi genetici
Questo tipo di algoritmi, si basa sull’idea dell’evoluzione naturale. In generale
l’evoluzione comincia come:
• Popolazione iniziale
Creata con delle regole generate in modo casuale; ogni regola può essere
rappresentata da una stringa di bit.
Consideriamo ad esempio, due attributi booleani A1 , A2 e due classi, C1 , C2 .
La regola:
if {A1 && (not A2 )}
then
C2
3 Alcune tecniche
11
possa essere rappresentata dalla stringa di bit “100” dove i primi due bit
rappresentano A1 , A2 mentre l’ultimo bit rappresenta C2 .
Un altro esempio:
if {not A1 && (not A2 )}
then
C1
può essere codificato con la stringa di bit “001”. Se ho una variabile k dove
k > 2, allora si useranno k bit per rappresentarla.
Dalla nozione di sopravvivenza, una nuova popolazione è formata da tutta
una serie di regole. In genere la forma di una regola è valutata sulla base di
un insieme semplice.
I figli, sono creati attraverso il crossover; vengono prese un paio di regole e
modificate, scambiate (swapped ) per formare un nuovo paio di regole.
Mentre con la fase di mutazione, vengono scelti dei bit in una regola ed in
modo aleatorio vengono invertiti.
Questo processo di evoluzione continua affinché la popolazione non è diventata della misura voluta.
In genere questi tipi di algoritmi applicati all’ottimizzazione dei problemi.
Mentre nella data mining possono venire applicati per valutare la forma di
altri algoritmi.
Figura 4: Evoluzione
12
3.4
3 Alcune tecniche
Software
Figura 5: Progetto Weka
Weka è una collezione di machine learning algorithms per il data mining.
Questo programma è scritto in Java, e tramite questo linguaggio è possibile
richiamare dei dataset su cui applicare gli algoritmi.
Weka contiene degli strumenti per il pre-processing dei dati, per la classificazione, per il clustering e l’associazione di regole.
Figura 6: Screenshot Weka
Questo software è stato sviluppato dall’università di Waikato [6].
3 Alcune tecniche
13
Il secondo software che presentiamo è una suite commerciale di Microsoft:
Microsoft Dynamics.
È un software che permette di gestire una organizzazione nel suo insieme,
fornendo anche un supporto per il data mining [9].
Figura 7: Microsoft Dynamics
Altri vendors nel campo del data mining sono:
• SAS
• Oracle
– Integrazione del data mining nei database
• Angoss
– Una delle prime applicazioni per il data mining
• HNC
– Fornisce delle soluzioni mirate e specifiche
• Unica
14
4 CRM - Customers Oriented
4
CRM - Customers Oriented
Le applicazioni di Customer Relationship Management (CRM) sono essenziali per acquisire e mantenere le relazioni con il Cliente. Includono aspetti di
marketing automation, sales force automation. Questo tipo di applicazioni
risultano fortemente strategiche per la sopravvivenza del business.
L’azienda ricorre alle soluzioni Customer Relationship Management per migliorare la qualità e l’accessibilità delle informazioni attraverso una loro
gestione ottimale, il tutto in un’ottica customer-centric.
Il concetto che sta alla base del Customer Relationship Management si
riassume brevemente nella capacità di raccogliere e gestire in modo appropriato la conoscenza (da con confondere con “informazione”) relativa ad un
cliente o ad un gruppo di clienti che l’azienda già possiede all’interno della sua
struttura ma che non usa in modo appropriato per incrementare la Customer
Satisfaction come mezzo per raggiungere un’elevata Customer Retention6 .
In altre parole, le aziende tramite il data mining come supporto dei CRM,
possono sapere molte informazioni, per esempio, le preferenze di acquisto dei
loro clienti e quindi fornire un prodotto più mirato alle loro esigenze.
6
Tenere i clienti soddisfatti; in altre parole non perdere clienti.
5 Quali standard
5
15
Quali standard
• Predictive Model Markup Language7 (PMML)
– Data Mining Group [10]
– basato su XML (DTD)
• Java Data Mining API(JSR-000073)8
– Oracle, Sun, IBM. . .
– Supporto per data mining APIs su piattaforme J2EE
– Costruzione, gestione, attività programmate [11]
• OLE9 database a supporto del Data Mining
– Basati su tabelle
– Microsoft
– PMML
In genere alcune applicazioni si basano su più standard per essere più
produttive.
1
3
5
7
9
11
13
15
17
19
21
<? xml version = " 1.0 " ? >
<! DOCTYPE PMML [
<! ELEMENT MapValuesPair EMPTY >
<! ATTLIST MapValuesPair
column CDATA # REQUIRED
in CDATA # REQUIRED
out CDATA # REQUIRED
>
]>
< PMML version = " 2.0 " >
< Header copyright = " Copyright ( c ) 2001 , Oracle Corporation . All rights
reserved . " >
< Application name = " Oracle 9 i Data Mining " version = " 9.2.0 " / >
</ Header >
< Itemset id = " 1 " support = " 0.033 " numberOfItems = " 1 " >
< ItemRef itemRef = " 2 " / >
</ Itemset >
< AssociationRule support = " 0.033 " confidence = " 0.121951 " antecedent = " 5 "
consequent = " 170 " / >
< AssociationRule support = " 0.033 " confidence = " 0.185185 " antecedent = " 170 "
consequent = " 5 " / >
</ As soc iati onMo del >
</ PMML >
Codice 1: Esempio PMML
7
Predictive Model Markup Language (PMML) è un linguaggio basato su XML che
descrive modelli statistici e di data mining.
8
È uno standard Java che permette di comunicare con altri standard ad esempio PMML.
9
Object Linking and Embedding
16
6
6 E la Privacy?
E la Privacy?
In Italia esiste la legge 31 dicembre 1996, n. 675: “Tutela delle persone e
di altri soggetti rispetto al trattamento dei dati personali”, pubblicata nella
Gazzetta Ufficiale n. 5 dell’8 gennaio 1997 - Supplemento Ordinario n. 3;
la quale regola il trattamento dei dati personali. È stata puoi riunita con il
decreto legislativo n◦ 196 del 30 giugno 2003 che ha fornito un Testo Unico
per la privacy (L. 675/96, DPR 318/99).
Ad esempio nel CAPO 3, Sezione 1, Art. 9:
1. I dati personali oggetto di trattamento devono essere:
(a) trattati in modo lecito e secondo correttezza;
(b) raccolti e registrati per scopi determinati, espliciti e legittimi,
ed utilizzati in altre operazioni del trattamento in termini non
incompatibili con tali scopi;
(c) esatti e, se necessario, aggiornati;
(d) pertinenti, completi e non eccedenti rispetto alle finalità per le
quali sono raccolti o successivamente trattati;
(e) conservati in una forma che consenta l’identificazione dell’interessato per un periodo di tempo non superiore a quello necessario agli
scopi per i quali essi sono stati raccolti o successivamente trattati.
Un altra importante parte è quella del consenso. Abbiamo aggiunto questa sezione sulla privacy in quanto è importante sapere che dati si stia trattando, a volte questo aspetto viene sottovalutato, a discapito delle persone e
delle norme vigenti.
A Articolo
A
17
Articolo
A.1
Il data mining non serve per sconfiggere il terrorismo, ma si diffonde in Usa.
Nel mondo post-11 settembre si presta molta attenzione a unire i punti.
Molti credono che il data mining sia la sfera di cristallo che ci permetterà di
svelare future trame terroristiche
Nel mondo post-11 settembre si presta molta attenzione a unire i punti.
Molti credono che il data mining sia la sfera di cristallo che ci permetterà di
svelare future trame terroristiche. Ma anche nelle proiezioni più sfrenatamente ottimistiche, il data mining non è sostenibile per tale scopo. Non stiamo
barattando la privacy per la sicurezza; stiamo rinunciando alla privacy senza
ottenere in cambio alcuna sicurezza. Moltissime persone scoprirono per la
prima volta in che cosa consiste il data mining nel novembre 2002, quando
fece notizia un massiccio programma governativo di data mining chiamato
Total Information Awareness. L’idea di fondo era audace quanto ripugnante:
raccogliere quanti più dati possibile su chiunque, passarli al vaglio grazie a
potentissimi calcolatori, e investigare quei pattern, quelle ricorrenze che potrebbero indicare trame terroristiche. Gli americani di ogni credo politico
denunciarono il programma, e nel settembre 2003 il Congresso ne eliminò i
fondi e ne chiuse gli uffici.
Ma Total Information Awareness non scomparve.
Secondo The National Journal cambiò semplicemente nome e fu spostato
all’interno del Dipartimento della Difesa.
Ciò non dovrebbe sorprendere. Nel maggio 2004, il General Accounting
Office pubblicò un rapporto che elencava 122 diversi programmi di data mining varati dal governo federale che si servivano delle informazioni personali
dei cittadini. Tale lista non comprendeva i programmi segreti, come le intercettazioni della NSA o programmi a livello statale come MATRIX10 .
La promessa del data mining è avvincente, e molti ne sono affascinati.
Ma tutto ciò è sbagliato. Non scopriremo trame terroristiche con sistemi
10
Informazioni reperibili all’indirizzo:
http://www.aclu.org/privacy/spying/
15701res20050308.html, (Multistate Anti-TeRrorism Information eXchange) è un
sistema di sorveglianza che combina informazioni su persone da database governativi ed
altri database di multinazionali.
18
A Articolo
come questo, e siamo in procinto di sprecare risorse preziose inseguendo falsi
allarmi. Per capire perché, occorre osservare l’economia del sistema.
La sicurezza è sempre un compromesso, e perché un sistema sia valido,
i vantaggi devono essere maggiori degli svantaggi. Un programma di data
mining nazionale troverà una certa percentuale di attacchi reali, e una certa percentuale di falsi allarmi. Se i benefici derivanti dall’individuare e dal
fermare quegli attacchi superano i costi (in denaro, in libertà, ecc.) allora il
sistema è buono. In caso contrario, sarebbe preferibile spendere quei costi in
altro modo.
Il data mining funziona al meglio quando si è alla ricerca di un ben determinato profilo, un numero ragionevole di attacchi ogni anno, e un costo
contenuto per i falsi allarmi. La frode delle carte di credito è un caso di
successo del data mining: tutte le compagnie di carte di credito esaminano
i propri database delle transazioni in cerca di pattern di spesa che indichino
la presenza di una carta di credito rubata. Molti ladri di carte di credito
presentano un simile pattern: l’acquisto di costosi beni di lusso, l’acquisto di
oggetti facilmente smerciabili tramite ricettazione, ecc.; e i sistemi di data
mining in molti casi possono minimizzare le perdite bloccando la carta. In
più, il costo dei falsi allarmi è rappresentato solo da una telefonata al titolare
della carta, richiedendogli di verificare un paio di acquisti. E i titolari delle
carte non sono nemmeno seccati da queste chiamate (purché avvengano di
rado), per cui il costo si riduce semplicemente ad alcuni minuti di chiamata
con un operatore.
Le trame terroristiche sono differenti. Non esiste un profilo ben determinato, e gli attacchi sono molto rari. Presi insieme, questi fatti significano
che i sistemi di data mining non rileveranno alcun complotto terroristico a
meno che non siano molto accurati, e che anche i sistemi più accurati saranno
talmente inondati da falsi allarmi da diventare inutili. [. . . ]
Per ridurre entrambi quei numeri, è necessario un profilo ben definito.
Ed è questo il problema quando si è alle prese con il terrorismo. Col senno di
poi, era davvero semplice unire i punti dell’11 settembre e puntare ai vari segnali d’allarme, ma è molto più difficile prima dell’evento. Di sicuro esistono
segnali d’allarme comuni a molti complotti terroristici, ma ognuno è al tempo stesso unico. Più è possibile definire nei dettagli ciò che si sta cercando,
migliori saranno i risultati. Il data mining alla caccia di trame terroristiche
è destinato a essere approssimativo, e sarà difficile scoprire qualcosa di utile.
A Articolo
19
Il data mining è come cercare un ago in un pagliaio. Vi sono 900 milioni
di carte di credito in circolazione negli Stati Uniti. Secondo lo FTC Identity
Theft Survey Report del settembre 2003, ogni anno circa l’1% (10 milioni)
delle carte di credito viene rubato e usato in modo fraudolento. Il terrorismo
è diverso. Vi sono trilioni di connessioni fra persone ed eventi (cose che il sistema di data mining dovrà osservare) e pochissimi complotti. Questo livello
di rarità rende inutili persino i sistemi di identificazione più accurati. [. . . ]
Questo sistema irrealisticamente accurato genererà un miliardo di falsi
allarmi per ogni complotto terroristico rilevato. Ogni giorno di ogni anno le
forze dell’ordine dovranno investigare 27 milioni di potenziali complotti per
poter arrivare a scoprire l’unico vero complotto terroristico ogni mese. Aumentiamo l’accuratezza dei falsi positivi a un assurdo 99,9999% e si dovranno
affrontare ancora 2.750 falsi allarmi al giorno; ma questo farà aumentare inevitabilmente anche i falsi negativi, e sarà molto probabile mancare uno di
quei dieci veri complotti terroristici. [. . . ]
Il data mining può funzionare. Aiuta Visa a contenere i costi delle frodi,
cosı̀ come aiuta Amazon.com a mostrarmi libri che potrebbero interessarmi
e che potrei comprare, e Google a mostrarmi annunci pubblicitari che potrebbero incuriosirmi. Ma queste sono tutte istanze in cui il costo dei falsi
positivi è basso (una chiamata di un operatore Visa, un annuncio non interessante) e riguardano sistemi che hanno valore anche se il numero di falsi
negativi è elevato.
Scoprire complotti terroristici non è un problema che si presta a essere
risolto dal data mining. È il tipico caso dell’ago nel pagliaio, e aumentare la
pila di paglia non facilita la risoluzione del problema. Sarebbe molto meglio
incaricare persone all’investigazione di potenziali trame terroristiche e permettere a queste persone di dirigere i computer, invece di assegnare l’incarico
ai computer e lasciar decidere a loro chi bisognerebbe indagare [2], [3].
di Bruce Schneier
http://www.nazioneindiana.com/
http://www.nazioneindiana.com/2006/04/09/antiterrorismo-e-datamining/
#comments
20
Riferimenti bibliografici
Riferimenti bibliografici
[1] Jiawei Han M. Kamber (2001), Data Mining Concepts and Tecniques
Morgan Kuafmann Publishers
[2] http://www.schneier.com
[3] http://www.businessonline.it
[4] http://it.wikipedia.org/ “Data mining”Data accesso 30.04.2006
[5] P. Atzeni, S. Ceri, S. Paraboshi, R. Torlone (1999), Basi di dati Seconda
edizione McGraw-Hill
[6] http://www.cs.waikato.ac.nz/ml/weka/index.html
[7] M. J. A. Berry, G. Linoff (1997), Data mining techniques For Marketing,
Sales, and Custumer Suport Wiley Computer Publishing
[8] Paolo Giudici (2001), Data mining Metodi statistici per le applicazioni
aziendali McGraw-Hill
[9] http://www.microsoft.com/italy/dynamics/products/navision/4_
0/navision_40_release.mspx
[10] http://www.dmg.org/
[11] http://www.thearling.com/