1
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
2
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
3
WEKA: Introduzione
Software di machine learning e data miningUniversità di Waikato (Nuova Zelanda)Scritto in JavaLicenza GNU
Main features:Interfaccia graficaSet di tool per data pre-processing, Possibilità di utilizzare numerosi algoritmi di clustering, per alberi decisionali DT, di ricerca di regole associative ARIndici di valutazione sulla “bontà” dell’algoritmo
4
1
2 3
WEKA: apertura del software
5
Database in input@relation bank
@attribute age numeric@attribute sex {FEMALE,MALE} @attribute region {INNER_CITY,TOWN,RURAL,SUBURBAN} @attribute income numeric@attribute married {NO,YES} @attribute children {0,1,2,3} @attribute car {NO,YES} @attribute save_act {NO,YES} @attribute current_act {NO,YES} @attribute mortgage {NO,YES} @attribute pep {YES,NO}
@data40,MALE,TOWN,30085.1,YES,3,YES,NO,YES,YES,NO 51,FEMALE,INNER_CITY,16575.4,YES,0,YES,YES,YES,NO,NO23,FEMALE,TOWN,20375.4,YES,3,NO,NO,YES,NO,NO57,FEMALE,RURAL,50576.3,YES,0,NO,YES,NO,NO,NO57,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,NO37,FEMALE,SUBURBAN,25304.3,YES,2,YES,NO,NO,NO,NO
Scelte:• Formato file semplice e
intelleggibile• Struttura piatta del database
Necessità dipreprocessing dei dati
Nome della relazione
Lista degli attributi e loro tipologia
Area dati con enumerazione delle tuple
Ricerca di una soluzioneche permetta
di utilizzare fonti differenti
Attributo numerico
Attributo nominale
6
Explorer: pre-processing dei dati
discretizzazionenormalizzazione
Selezione, trasformazione e combinazione degli attributi
Funzioni
Presentazione dei dati all’utente
Conteggio tupleDistribuzione dei valori degli attributiAnalisi cross-attributo
Formati aperti
ARFF
CSVC4.5binaryletti da un URLdatabase SQL usando JDBC
Pre-Processing: i tool di
preprocessingdi Weka sono
chiamati “Filters”
Rappresentazionigrafiche
7
8
9
10
11
Algoritmi tradizionali
Explorer: i “classifiers”Classifiers
modelli per predireattributi numerici
e nominali
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 è svoltodall’utente che seleziona un cluster tramiteuna rappresentazione bidimensionale deidati
Limiti:
• Buona conoscenza del dominio• Struttura semplice dei dati,• Cluster facilimente riconoscibili
Esempio: Decision Trees
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Explorer: clustering dataWEKA può eseguire numerosi algoritmi di clustering:
k-Means, Clustering basato sulla densità…
Visualizzazione dei cluster ottenuti con comparazione suvari attributi
Possibilità di eseguire misure di bontà sui risultati deglialgoritmi
30
Algoritmo Expectation MaximizationVariante “raffinata” di K-means
31
32
33
Attributi selezionati
34
35
36
Età
Red
dito
37
Explorer: ricerca di regole associativeWEKA contiene un’implementazione
dell’algoritmo Apriorinella 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
38
39
40
41
42
43
Explorer: attribute selectionStrumento utile per ricercare quali sono gli attributi(o subset di attributi) maggiormente predittivi
Il metodo di selezione è articolato in due parti: Search method:
best-first, forward selection, random, exhaustive, genetic algorithm, ranking
Evaluation method: CorrelazioneInformation gainTest chi-quadro…
WEKA consente combinazioni (abbastanza) libere dei metodi
Esempio semplice:Ordina gli attributi in base all’IG• Search method: ranking• Evaluation Method:
Information Gain
44
45
46
47
48
Explorer: data visualizationSemplice funzione che permette di analizzare in maniera visiva i dati
WEKA visualizza singoli attributi in un grafico 1-D e coppie di attributi2-D
Limite: mancanza di visualizzazione 3-D che viene risoltaintroducendo 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 gliattributi nominali
Funzioni di zoom, dimensionamento dei grafici e dei puntirappresentati
49
50
51
52
53
54
55
56
WEKA: ExperimenterL’Experimenter permette di comparare diversi modelli diapprendimento
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
57
58
59
60
61
62
63
64
65
66
Analisi dei risultatiExport dei risultati in:
ARFF fileCSV file (Comma Separated Values)JDBC database
Importato in Excel
Analisi statistica dei dati
% di istanze classificate correttamente
modelli di apprendimento
data
seta
naliz
zati
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
Scheda Analyse di WEKA :Matrice di analisi sui diversi run
67
Analisi dei risultati: Cross Validazione1. Il dataset è diviso in k subset. 2. Ogni subset è diviso in training set e test set3. For i:=1 to k
1. Definisci una funzione che predice i dati2. testa la funzione sui K-1 dataset precedenti come test set3. Calcolo del Mean Absolute Error
4. Computa l’errore medio su tutti i k subset
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
Funzione con rumore
Funzione senza rumore
Algoritmo
68
69
70
71
WEKA: Knowledge FlowInterfaccia grafica innovativa che rappresenta un flussoinformativoBasato sulla piattaforma Java BeansDB sorgenti, classifiers, etc. sono beans e possono essereconnessi graficamenteI Layout ottenuti possono essere salvatiCambiando le impostazioni del datasource, si può eseguire lo stesso flusso su diversi datasetEsempio di un tipico flusso di dati:
data source filter classifier evaluator
72
73
74
75
76
77
78
…dopo alcuni passaggi…
79
80
81
Classe prevista
Classe di appartenenza
82
WEKA: the bird
Grazie per l’attenzione!