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
Scarica

Introduction to Data Mining