Alma Mater Studiorum – Università di Bologna
WEKA
Data Mining System
Sistemi Informativi a supporto delle Decisioni LS - Prof. Marco Patella
Presentazione di: Fabio Bertozzi, Giacomo Carli
1
WEKA: the bird
Gallirallus australis (Sparrman, 1786)
• Uccello nativo della Nuova
Zelanda
• Altezza: 50 cm
• Peso: 1 Kg
• Onnivoro
• In via di estinzione
• Maschio e femmina si
occupano della prole
• Secondo una leggenda
neozelandase rubano
oggetti luccicanti e sacchi
di zucchero
2
WEKA: Introduzione

Software di machine learning e data mining
Università di Waikato (Nuova Zelanda)
Scritto in Java
Licenza GNU

Main features:







Interfaccia grafica
Set di tool per data pre-processing,
Possibilità di utilizzare numerosi algoritmi di clustering, per
alberi decisionali DT, di ricerca di regole associative AR
Indici di valutazione sulla “bontà” dell’algoritmo
3
WEKA: apertura del software
1
2
3
4
Database in input
Nome della relazione
@relation bank
Lista degli attributi e loro tipologia
@attribute age numeric
@attribute sex {FEMALE,MALE}
@attribute region {INNER_CITY,TOWN,RURAL,SUBURBAN}
@attribute income numeric
@attribute married {NO,YES}
Attributo nominale
@attribute children {0,1,2,3}
@attribute car {NO,YES}
Attributo numerico
@attribute save_act {NO,YES}
@attribute current_act {NO,YES}
@attribute mortgage {NO,YES}
@attribute pep {YES,NO}
Area dati con enumerazione delle tuple
@data
40,MALE,TOWN,30085.1,YES,3,YES,NO,YES,YES,NO
51,FEMALE,INNER_CITY,16575.4,YES,0,YES,YES,YES,NO,NO
23,FEMALE,TOWN,20375.4,YES,3,NO,NO,YES,NO,NO
57,FEMALE,RURAL,50576.3,YES,0,NO,YES,NO,NO,NO
57,FEMALE,TOWN,37869.6,YES,2,NO,YES,YES,NO,YES
22,MALE,RURAL,8877.07,NO,0,NO,NO,YES,NO,YES
58,MALE,TOWN,24946.6,YES,0,YES,YES,YES,NO,NO
37,FEMALE,SUBURBAN,25304.3,YES,2,YES,NO,NO,NO,NO
Ricerca di una soluzione
che permetta
di utilizzare fonti differenti
Scelte:
• Formato file semplice e
intelleggibile
• Struttura piatta del database
Necessità di
preprocessing dei dati
5
Explorer: pre-processing dei dati
ARFF
CSV
Formati aperti
C4.5
binary
letti da un URL
database SQL usando JDBC
Conteggio tuple
Presentazione
dei dati all’utente
Funzioni
Pre-Processing:
i tool di
preprocessing
di Weka sono
chiamati “Filters”
Distribuzione dei valori degli attributi
Analisi cross-attributo
discretizzazione
normalizzazione
Rappresentazioni
grafiche
Selezione, trasformazione e
combinazione degli attributi
6
Explorer: i “classifiers”
Classifiers
modelli per predire
attributi numerici
e nominali
Esempio: Decision Trees
Algoritmi tradizionali
J48 è l’implementazione di Weka dell’algoritmo C4.5,
creato da Ross Quinlan dell’Università di Sydney.
L’algoritmo genera un decision tree.
• Metodo di selezione degli attributi in base all’IG
• Possibilità di utilizzare un Training Set con
dati mancanti
• Possibilità di utilizzare attributi con valori
numerici continui
Non c’è necessità di discretizzare
Metodo: User Classifier
Ogni passo di split dell’albero è svolto
dall’utente che seleziona un cluster tramite
una rappresentazione bidimensionale dei
dati
Limiti:
• Buona conoscenza del dominio
• Struttura semplice dei dati,
• Cluster facilimente riconoscibili
7
Explorer: clustering data

WEKA può eseguire numerosi algoritmi di clustering:
 k-Means,
 Clustering basato sulla densità
 …

Visualizzazione dei cluster ottenuti con comparazione su
vari attributi

Possibilità di eseguire misure di bontà sui risultati degli
algoritmi
8
Explorer: ricerca di regole associative
WEKA contiene un’implementazione
dell’algoritmo Apriori
nella scheda “Associate”:
Lavora su dati
discreti
Identifica le relazioni
tra attributi e gruppi di
attributi
Ricerca le regole che
eccedono il supporto minimo
e hanno confidenza
superiore al valore
prestabilito
9
Explorer: attribute selection

Strumento utile per ricercare quali sono gli attributi
(o subset di attributi) maggiormente predittivi

Il metodo di selezione è articolato in due parti:

Search method:






Evaluation method:





best-first,
forward selection,
random, exhaustive,
genetic algorithm,
ranking
Esempio semplice:
Ordina gli attributi in base all’IG
• Search method: ranking
• Evaluation Method:
Information Gain
Correlazione
Information gain
Test chi-quadro
…
WEKA consente combinazioni (abbastanza) libere dei metodi
10
Explorer: data visualization

Semplice funzione che permette di analizzare in maniera visiva i dati

WEKA visualizza singoli attributi in un grafico 1-D e coppie di attributi
2-D


Limite: mancanza di visualizzazione 3-D che viene risolta
introducendo in un grafico 2-D diversi colori
Parametri di visualizzazione:

I valori delle classi sono rappresentati con diversi colori

L’opzione “Jitter” permettere di visualizzare i punti nascosti per gli
attributi nominali

Funzioni di zoom, dimensionamento dei grafici e dei punti
rappresentati
11
WEKA: Experimenter

L’Experimenter permette di comparare diversi modelli di
apprendimento

Adatto per problemi di regressione e classificazione

I risultati possono essere trasveriti in un database

Metodi di valutazione:


Cross-validazione

Curva di apprendimento
I metodi di valutazione possono essere reiterati per diverse
configurazioni dei parametri dei modelli di apprendimento
12
Analisi dei risultati

Export dei risultati in:



ARFF file
CSV file (Comma Separated Values)
JDBC database
Importato in Excel
Analisi statistica dei dati

Scheda Analyse di WEKA :

Matrice di analisi sui diversi run
dataset analizzati
modelli di apprendimento
% di istanze
classificate correttamente
Notazioni:

v:
risultato statisticamente migliore rispetto allo
schema base

*:
risultato statisticamente peggiore rispetto allo
schema base

Vettore (xx/yy/zz):
indica su quanti dataset lo schema è stato
migliore/equivalente/peggiore rispetto allo schema base
13
Analisi dei risultati: Cross Validazione
Algoritmo
1.
2.
3.
4.
Il dataset è diviso in k subset.
Ogni subset è diviso in training set e test set
For i:=1 to k
1. Definisci una funzione che predice i dati
2. testa la funzione sui K-1 dataset precedenti come test set
3. Calcolo del Mean Absolute Error
Computa l’errore medio su tutti i k subset
Funzione con rumore
Funzione senza rumore
Vantaggio: utilizzando tanti subset, il
metodo è poco influenzato
da come sono suddivisi i
dati. All’aumentare di K si
ottiene una maggiore
precisione della previsione
Svantaggio: l’algoritmo deve iterare k
volte per svolgere una
valutazione
14
WEKA: Knowledge Flow






Interfaccia grafica innovativa che rappresenta un flusso
informativo
Basato sulla piattaforma Java Beans
DB sorgenti, classifiers, etc. sono beans e possono essere
connessi graficamente
I Layout ottenuti possono essere salvati
Cambiando le impostazioni del datasource, si può eseguire lo
stesso flusso su diversi dataset
Esempio di un tipico flusso di dati:
data source
filter
classifier
evaluator
15
WEKA: the bird
Grazie per
l’attenzione
!
16