Introduzione a Weka
Di Fabio Cassano
[email protected]
Cos’è Weka?
E’ un software per l’apprendimento automatico le cui
tecniche affondano le radici nell’intelligenza artificiale
+
=
Data mining
 Cercare dei pattern ricorrenti all’interno di una grande
quantità di informazioni
 Estrapolazione della conoscenza
 Esempio: birra e pannolini
Caso d’esempio: Facebook
•Aggiunta amici
Iscrizione
•Pagine visitate
•Like
Raccolta
informazioni •Condivisioni
•Passioni
•Emozioni
Profilazione
•ecc
utente
•Pubblicità
Vendita del •Analisi di mercato
profilo
Il core di Weka
Weka permette (principalmente) l’uso di tecniche di Machine
Learning. In particolare sono due le più utilizzate:
Clustering
Classification
Clustering
 E’ un insieme di tecniche che permettono di
«raggruppare» diversi oggetti in base alle loro
features
 Gli algoritmi sono molto utilizzati in ambiti di
Intelligenza Artificiale
Classification
 E’ molto importante che siano state definite nel
dataset delle «classi»
 Si basa sull’analisi delle features (lavoro fatto a monte
dell’analisi)
 Applicabili a moltissime tecniche dell’ingegneria
Let’s start
 Il punto di partenza di Weka è l’Explorer
 Si carica un Dataset (in formato .arff)
Preprocessing dei dati: i filtri
• Supervisionati: i dati in analisi devono
essere «etichettati» da parte di
qualcuno.
• Non supervisionati: i dati vengono
utilizzati così come sono ed in
generale gli algoritmi non
supervisionati vengono usati per
clusterizzare i dati in gruppi differenti
Analisi dei dati: gli attributi
• E’ possibile selezionare gli attributi che
l’utente ritiene essere più rilevanti.
• Si mantengono i più importanti e si
rimuovono quelli meno utili
• Presenza dell’attributo «Class» necessaria
per la classificazione
Hands on 1
• Caricamento di un file in weka
• Visualizzazione del contenuto del file ARFF
• Distribuzione delle classi all’interno di ogni
attributo
Primo approccio alla classificazione
 La schermata «Classify» di Weka permette di scegliere
gli algoritmi da usare
 E’ possibile modificare i parametri utilizzati dagli
algoritmi (a patto di conoscere a cosa servono)
 Le opzioni di test…
 I risultati
 Gli errori
Il training set
Training set
Il training set serve per addestrare
il modello. In generale è la parte
più consistente dell’intero Data
set
Il validation set serve per
«affinare» i parametri del
classificatore
Validation set
Data set
Test set
Il test set serve, una volta
completato l’addestramento del
modello, a valutare la bontà del
nostro classificatore
Hands on 2
• Selezione del classificatore:
1) Naive Bayes
2) MultiLayer Perceptron
3) J48
• Confronto dei risultati
• Gli errori
• Matrice di confusione
Un piccolo tuning
 E’ possibile chiedere a Weka quali siano i parametri
migliori da utilizzare all’interno del modello
 Meno parametri (cioè meno features) non sempre
porta a soluzioni migliori
Il problema del modello
 Rischio di incorrere nell’overfitting o nell’underfitting
Hands on 3
• La maschera «select attributes»
• L’algoritmo InfoGain con metodo di ricerca
«Ranker»
• Cancellazione della features con meno peso
• Nuovo run del classificatore
Le curve ROC e matrice di confusione
 Metodo «grafico» per vedere se il modello proposto è
accettabile
 La matrice di confusione definisce quanto sia accurato
il modello che abbiamo realizzato
Exprerimenter
 Nuova finestra, nuove funzionalità
 Serve per valutare diversi algoritmi e paragonare i
risultati
 Ottimo per fare esperienza
Hands on 4
• Nuovo esperimento con specifica dataset
• Aggiunta degli algoritmi
1) Naive Bayes
2) Multilayer Perceptron
3) J48
• Lancio dell’esperimento
• Analisi
Knowledge flow
 Interfaccia grafica
 Di facile utilizzo
 Permette a tutti di capire come funziona il processo
di data mining
Hands on 5
•
•
•
•
•
•
Aggiunta di un Arff
Assegnazione della classe di classificazione
Evaluation/Cross Validation sul dataset
Classifier/Naive Bayes come metodo per il data mining
Evaluation/ performance evaluation
Visualization/Text viewer