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