Weka Weka Project Weka Project Formato .arff Formato .arff

Weka Project
Weka
Machine Learning Algorithms in Java
Weka Project
• Comprende
– Librerie
– GUI
• Scaricabile gratuitamente all’indirizzo
– http://www.cs.waikato.ac.nz/~ml
Formato .arff
Nome relazione
Dati
Preprocessing
Classificazione
Clustering
Regole di associazione
Formato .arff
• File testuale usato da Weka per
memorizzare i dati (data set)
• Ogni file corrisponde ad una relazione
• Formato
– Nome tabella
– Definizione attributi
– Dati
Modalità di utilizzo di Weka
• Gli algoritmi possono essere eseguiti
@ATTRIBUTE sepallength REAL
Attributo di tipo reale
@ATTRIBUTE sepalwidth REAL
@ATTRIBUTE petallength REAL
@ATTRIBUTE petalwidth REAL
@ATTRIBUTE class {Iris-setosa,Iris-versicolor,Iris-virginica}
@DATA
5.1,3.5,1.4,0.2,Iris-setosa
4.9,3.0,1.4,0.2,Iris-setosa
–
–
–
–
Nome attributo
@RELATION iris
Attributi
• Waikato Environment for Knowledge
Analysis
• Algoritmi di Data Mining e Machine
Learning realizzati in Java
– Tramite linea di comando
– Tramite GUI
– Tramite chiamate all’interno di codice java
Attributo di tipo nominale
1
Esecuzione tramite linea di comando
Esecuzione tramite linea di comando
• Tutti gli algoritmi inclusi in Weka possono
essere eseguiti in linea
• Si “esegue” la classe java associata
all’algoritmo che si intende usare
• Si passano su linea di comando i valori dei
parametri dell’algoritmo e i file da usare
• Esempio
Esecuzione tramite linea di comando
Esecuzione tramite linea di comando
• Dal prompt di dos eseguire
• Modello
Algoritmo
java -classpath weka.jar weka.classifiers.trees.J48
-t iris.arff
Dati di training
• In uscita vengono visualizzati
– Il modello
– Il risultato dei test
– Algoritmo di classificazione
• Albero di decisione J48
– Dati di training
• iris.arff
– Verifica dell’accuratezza del modello
• Cross-validation test (opzione di default)
petalwidth <= 0.6: Iris-setosa (50.0)
petalwidth > 0.6
| petalwidth <= 1.7
| | petallength <= 4.9: Iris-versicolor (48.0/1.0)
| | petallength > 4.9
| | | petalwidth <= 1.5: Iris-virginica (3.0)
| | | petalwidth > 1.5: Iris-versicolor (3.0/1.0)
| petalwidth > 1.7: Iris-virginica (46.0/1.0)
GUI Weka
Esecuzione tramite linea di comando
• Risultati test
=== Stratified cross-validation ===
Correctly Classified Instances
144 96%
Incorrectly Classified Instances
6
4%
…….
=== Confusion Matrix ===
a b c <-- classified as
49 1 0 | a = Iris-setosa
0 47 3 | b = Iris-versicolor
0 2 48 | c = Iris-virginica
• Per avviare la parte grafica eseguire dal
prompt di dos il comando
java –jar weka.jar
• Sono disponibili quattro modalità
–
–
–
–
Simple CLI
Explorer
Experimenter
KnowledgeFlow
2
GUI Weka
Weka – Explorer GUI
• Simple CLI
– Linea di comando
• Explorer
– Versione grafica di base
• Experimenter
– Parte sperimentale con collegamento a JDBC
Selezionare Explorer
• KnowledgeFlow
– Versione drag and drop
Tipologie di operazioni disponibili
Preprocessing
• Selezione del dataset
• Filtri
– Selezione attributi
– Discretizzazione
– ….
• Informazione sulla distribuzione dei dati
Preprocessing
Tipo filtro da applicare
Apertura dataset
• Selezionare il dataset che si vuole
analizzare
– Open file
• Decidere quale filtro applicare
Attributi
– Premere il tasto Choose e selezionare il filtro
• Eseguire il filtro premendo Apply
Distribuzione delle classi in funzione dell’attributo selezionato
3
Classify
Tipologia
di test
Algoritmo selezionato e suoi parametri
• Selezione l’algoritmo di classificazione che si
vuole utilizzare
– Premere il tasto Choose e selezionare l’algoritmo
– Premere il tasto sinistro sulla barra delle opzioni per
modificare le opzioni
Attributo
di classe
• Selezionare l’attributo di classe
• Selezionare il metodo di test/verifica
• Eseguire l’algoritmo premendo Start
Risultati
Cluster
Tipologia
di test
Algoritmo selezionato e suoi parametri
• Selezione l’algoritmo di clustering che si vuole
utilizzare
– Premere il tasto Choose e selezionare l’algoritmo
– Premere il tasto sinistro sulla barra delle opzioni per
modificare le opzioni
• Selezionare gli eventuali attributi da non
considerare (as esempio la classe)
• Selezionare il metodo di test/verifica
• Eseguire l’algoritmo premendo Start
Attributi
da non
considerare
Risultati
Associate
Algoritmo selezionato e suoi parametri
• Selezione l’algoritmo di estrazione che si
vuole utilizzare
– Premere il tasto Choose e selezionare
l’algoritmo
– Premere il tasto sinistro sulla barra delle
opzioni per modificare le opzioni
• Eseguire l’algoritmo premendo Start
Risultati
4
Altri algoritmi disponibili
• Select attributes
– Permette di selezionare gli attributi che sono
considerati più utili per la classificazione
• Utile per eliminare gli attributi poco interessanti e
quindi velocizzare la creazione dei modelli di
clustering
• Visualize
– Permette di visualizzare i dati
Uso di Weka nel programmi java
• Passi base
– Creazione di un oggetto di tipo Instances per la
memorizzazione del dataset
– Eventuale discretizzazione dei dati
– Applicazione dell’algoritmo di Data Mining
– Visualizzazione o salvataggio dei risultati
Uso di Weka nel programmi java
• Si possono usare tutti gli algoritmi
disponibili in Weka all’interno di
programmi java
• Si include la libreria di weka
• Si effettuano le chiamate ai metodi delle
classi java che realizzano gli algortimi di
Data Mining
Esempio
• Classificazione di messaggi
– Creazione del dataset di training
– Generazione del modello tramite l’algoritmo
J48
– Applicazione del modello a dei dati di test
• Fare riferimento a MessaggeClassifier.java
5