Introduzione a Weka Di Fabio Cassano
E’ un software per l’apprendimento automatico le cui tecniche affondano le radici nell’intelligenza artificiale Cos’è Weka? +=
Data mining Cercare dei pattern ricorrenti all’interno di una grande quantità di informazioni Estrapolazione della conoscenza Esempio: birra e pannolini
Iscrizione Aggiunta amici Raccolta informazioni Pagine visitate Like Condivisioni Profilazione utente Passioni Emozioni ecc Vendita del profilo Pubblicità Analisi di mercato Caso d’esempio: Facebook
Weka permette (principalmente) l’uso di tecniche di Machine Learning. In particolare sono due le più utilizzate: Il core di Weka ClusteringClassification
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 Clustering
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 Classification
Il punto di partenza di Weka è l’Explorer Si carica un Dataset (in formato.arff) Let’s start 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
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 Primo approccio alla classificazione
Il training set Data set Training set Test set Il training set serve per addestrare il modello. In generale è la parte più consistente dell’intero Data set Il test set serve, una volta completato l’addestramento del modello, a valutare la bontà del nostro classificatore Validation set Il validation set serve per «affinare» i parametri del classificatore
Hands on 2 Selezione del classificatore: 1) Naive Bayes 2) MultiLayer Perceptron 3) J48 Confronto dei risultati Gli errori Matrice di confusione
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 Un piccolo tuning
Rischio di incorrere nell’overfitting o nell’underfitting Il problema del modello
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
Metodo «grafico» per vedere se il modello proposto è accettabile Le curve ROC e matrice di confusione La matrice di confusione definisce quanto sia accurato il modello che abbiamo realizzato
Nuova finestra, nuove funzionalità Serve per valutare diversi algoritmi e paragonare i risultati Ottimo per fare esperienza Exprerimenter
Hands on 4 Nuovo esperimento con specifica dataset Aggiunta degli algoritmi 1) Naive Bayes 2) Multilayer Perceptron 3) J48 Lancio dell’esperimento Analisi
Interfaccia grafica Di facile utilizzo Permette a tutti di capire come funziona il processo di data mining Knowledge flow
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