Introduction to Data Mining
Download
Report
Transcript Introduction to Data Mining
WEKA – Waikato Environment for
Knowledge Analysis
Fabiano Dalpiaz
Department of Information and
Communication Technology
University of Trento - Italy
http://www.dit.unitn.it/~dalpiaz
Database e Business Intelligence
A.A. 2007-2008
Cosa è WEKA? (1)
© P. Giorgini, F. Dalpiaz
2
Cosa è WEKA? (2)
Un software di Data Mining scritto in Java (distribito
sotto la licenza GPL )
Completa il libro “Data Mining” di Witten & Frank
Caratteristiche principali:
Insieme completo di strumenti di data pre-processing, algoritmi
di apprendimento e metodi di valutazione
Interfacce grafiche utente
Ambiente per confrontare diversi algoritmi
© P. Giorgini, F. Dalpiaz
3
© P. Giorgini, F. Dalpiaz
4
Explorer – Data Preprocessing
E’ possibile importare dati in vari formati: ARFF (formato
proprietario di WEKA), CSV, C4.5, binario
I dati possono essere letti da un URL o collegandosi ad
un database SQL (utilizzando JDBC)
Gli strumenti di preprocessing sono chiamati filtri (filters)
WEKA contiene filtri per:
Discretizzazione
Normalizzazione
Campionamento
Selezione attributi
Trasformazione e composizione
© P. Giorgini, F. Dalpiaz
5
Formato file proprietario (arff)
@relation german_credit
@attribute checking_status { '<0', '0<=X<200', '>=200', 'no checking'}
@attribute duration real
@attribute credit_history { 'no credits/all paid', 'all paid', 'existing paid', 'delayed
previously', 'critical/other existing credit'}
@attribute purpose { 'new car', 'used car', furniture/equipment, radio/tv, 'domestic
appliance', repairs, education, vacation, retraining, business, other}
@attribute credit_amount real
...
@data
'<0',6,'critical/other existing credit',radio/tv,1169,'no known savings','>=7',4,'male
single',none,4,'real estate',67,none,own,2,skilled,1,yes,yes,good
'0<=X<200',48,'existing paid',radio/tv,5951,'<100','1<=X<4',2,'female
div/dep/mar',none,2,'real estate',22,none,own,1,skilled,1,none,yes,bad
...
© P. Giorgini, F. Dalpiaz
6
Explorer – Data Preprocessing
Apertura file/URL/database
Filtri
Visualizzazione
© P. Giorgini, F. Dalpiaz
7
Data Preprocessing
Schermata principale
© P. Giorgini, F. Dalpiaz
8
Data Preprocessing
Visualizzazione completa
© P. Giorgini, F. Dalpiaz
9
Data Preprocessing
Filtri
© P. Giorgini, F. Dalpiaz
10
Explorer - Classificatori
Sono disponibili diversi tipi di classificatori
Alberi di decisione
Classificatori basati sulle istanze
Support vector machines
Regressione logistica
Classificatori Bayesiani
“Meta”- classificatori
Modificano/”migliorano” il comportamento dei classificatori
Esempio: matrice di costo
© P. Giorgini, F. Dalpiaz
11
Classificatori
Creazione del modello
© P. Giorgini, F. Dalpiaz
12
Classificatori
Visualizzazione del modello
© P. Giorgini, F. Dalpiaz
13
Classificatori
Risultati dettagliati
© P. Giorgini, F. Dalpiaz
14
Explorer - Clustering
WEKA contiene alcuni strumenti di clustering
k-Means, EM, Cobweb, X-means, FarthestFirst
I cluster possono essere visualizzati e confrontati con la
classificazione corretta (se presente)
© P. Giorgini, F. Dalpiaz
15
Explorer
Clustering con Cobweb
© P. Giorgini, F. Dalpiaz
16
Explorer – regole associative
WEKA contiene un’implementazione dell’algoritmo
Apriori
Funziona solo con dati discreti
Identifica dipendenze statistiche fra gruppi di attributi
latte, burro pane, uova (con confidenza 0.9 and supporto
0.5)
© P. Giorgini, F. Dalpiaz
17
Regole associative
Data set
© P. Giorgini, F. Dalpiaz
18
Regole associative
Risultati
© P. Giorgini, F. Dalpiaz
19
Explorer – selezione attributi
Può essere utilizzato per capire quali sottoinsiemi di
attributi sono i più predittivi (information gain e gain
ratio!!!)
Sono necessarie due tecniche:
Metodo di ricerca: best-first, forward selection, random,
exhaustive, genetic algorithm, ranking
Valutazione: correlation-based, wrapper, information gain, chisquared, …
Weka permette molte combinazioni delle due tecniche
© P. Giorgini, F. Dalpiaz
20
Selezione attributi
Esempio
© P. Giorgini, F. Dalpiaz
21
Explorer – Visualizzazione
Visualizzazioni presentate in relazione alle varie
tecniche
Data preprocessing
Albero di decisione
Clustering
...
Visualizzazioni generali
© P. Giorgini, F. Dalpiaz
22
Explorer
Esempio di visualizzazione (1)
© P. Giorgini, F. Dalpiaz
23
Explorer
Esempio di visualizzazione (2)
© P. Giorgini, F. Dalpiaz
24
WEKA - Un esempio reale
Concessione di credito (Germania)
Provenienza: Prof. Hans Hofmann – University of Hamburg
1000 instanze
20 attributi
2 classi: concedere credito (yes), non concedere (no)
Attributi
A1: stato del conto corrente esistente
•
•
•
•
< 0 DM
Fra 0 e 200 DM
> 200 DM
Nessun conto esistente
A2: durata del credito richiesto (in mesi)
© P. Giorgini, F. Dalpiaz
25
WEKA – Un esempio reale
A3: Storico crediti
•
•
•
•
•
Nessun credito richiesto/tutti i crediti pagati puntualmente
Tutti i crediti in questa banca pagati puntualmente
Esistono crediti da pagare ma il cliente è ancora in tempo
Ci sono stati dei ritardi in passato
Account critico/altri crediti in altre banche
A4: Scopo del prestito
•
•
•
•
•
•
•
© P. Giorgini, F. Dalpiaz
Auto nuova
Auto usata
Mobili
Radio/televisione
Elettrodomestici
Riparazioni
Educazione...
26
WEKA – Un esempio reale
A5: Importo del credito richiesto
A6: Importo in risparmi
•
•
•
•
•
<100 DM
Fra 100 e 500 DM
Fra 500 e 1000 DM
> 1000 DM
Sconosciuto/nessuno
A7: Anzianità di lavoro, per il lavoro attuale
•
•
•
•
•
© P. Giorgini, F. Dalpiaz
Disoccupato
Meno di un anno
Fra 1 e 4 anni
Fra 4 e 7 anni
Più di 7 anni
27
WEKA – Un esempio reale
A8: Numero di rate per il rimborso
A9: Stato civile
•
•
•
•
•
Maschio – divorzato/separato
Femmina – divorziata/separata/sposata
Maschio – single
Maschio – sposato/vedovo
Femmina – single
A10: Altri debitori/garanti
• Nessuno
• Co-applicante
• Garante
A11: Numero di anni nella residenza corrente
© P. Giorgini, F. Dalpiaz
28
WEKA – Un esempio reale
A12: Proprietà
•
•
•
•
Bene immobile
Accordo con la società di costruzione/Assicurazione sulla vita
Automobile o altro
Sconosciuta/nessuna proprietà
A13: Età (in anni)
A14: Altri pagamenti rateali
• Banca
• Negozi
• Nessuno
A15: Abitazione
• Affitto
• Propria
• Gratuita
© P. Giorgini, F. Dalpiaz
29
WEKA – Un esempio reale
A16: Numero di crediti esistenti in questa banca
A17: Lavoro
•
•
•
•
Disoccupato/Non qualificato – a tempo determinato
Non qualificato – a tempo indeterminato
Impiegato qualificato
Management / Autonomo / Impiegato ad alta qualificazione
A18: persone a carico
A19: Telefono
• No
• Sì, registrato a proprio nome
A20: Lavoratore straniero
• Sì
• No
© P. Giorgini, F. Dalpiaz
30
Weka in azione
Classificatori
ADTree (alternating decision tree)
J48 (C4.5 implementation)
Naive Bayes
Bayes Network
IBK
SimpleLogistic (error on probabilities)
SMO (SVM)
Evaluating Training set vs. Cross validation
Clustering
EM (Expectation Maximization)
Simple K Means
© P. Giorgini, F. Dalpiaz
31
Weka in azione
Regole associative
Apriori
Attributi più predittivi
BestFirst + CfsSubsetEval
GainRatio + Ranker
© P. Giorgini, F. Dalpiaz
32