WEKA – Waikato Environment for Knowledge Analysis Fabiano Dalpiaz Department of Information and Communication Technology University of Trento - Italy http://www.dit.unitn.it/~dalpiaz Database e Business Intelligence A.A. 2007-2008 Cosa è WEKA? (1) © P. Giorgini, F. Dalpiaz 2 Cosa è WEKA? (2) Un software di Data Mining scritto in Java (distribito sotto la licenza GPL ) Completa il libro “Data Mining” di Witten & Frank Caratteristiche principali: Insieme completo di strumenti di data pre-processing, algoritmi di apprendimento e metodi di valutazione Interfacce grafiche utente Ambiente per confrontare diversi algoritmi © P. Giorgini, F. Dalpiaz 3 © P. Giorgini, F. Dalpiaz 4 Explorer – Data Preprocessing E’ possibile importare dati in vari formati: ARFF (formato proprietario di WEKA), CSV, C4.5, binario I dati possono essere letti da un URL o collegandosi ad un database SQL (utilizzando JDBC) Gli strumenti di preprocessing sono chiamati filtri (filters) WEKA contiene filtri per: Discretizzazione Normalizzazione Campionamento Selezione attributi Trasformazione e composizione © P. Giorgini, F. Dalpiaz 5 Formato file proprietario (arff) @relation german_credit @attribute checking_status { '<0', '0<=X<200', '>=200', 'no checking'} @attribute duration real @attribute credit_history { 'no credits/all paid', 'all paid', 'existing paid', 'delayed previously', 'critical/other existing credit'} @attribute purpose { 'new car', 'used car', furniture/equipment, radio/tv, 'domestic appliance', repairs, education, vacation, retraining, business, other} @attribute credit_amount real ... @data '<0',6,'critical/other existing credit',radio/tv,1169,'no known savings','>=7',4,'male single',none,4,'real estate',67,none,own,2,skilled,1,yes,yes,good '0<=X<200',48,'existing paid',radio/tv,5951,'<100','1<=X<4',2,'female div/dep/mar',none,2,'real estate',22,none,own,1,skilled,1,none,yes,bad ... © P. Giorgini, F. Dalpiaz 6 Explorer – Data Preprocessing Apertura file/URL/database Filtri Visualizzazione © P. Giorgini, F. Dalpiaz 7 Data Preprocessing Schermata principale © P. Giorgini, F. Dalpiaz 8 Data Preprocessing Visualizzazione completa © P. Giorgini, F. Dalpiaz 9 Data Preprocessing Filtri © P. Giorgini, F. Dalpiaz 10 Explorer - Classificatori Sono disponibili diversi tipi di classificatori Alberi di decisione Classificatori basati sulle istanze Support vector machines Regressione logistica Classificatori Bayesiani “Meta”- classificatori Modificano/”migliorano” il comportamento dei classificatori Esempio: matrice di costo © P. Giorgini, F. Dalpiaz 11 Classificatori Creazione del modello © P. Giorgini, F. Dalpiaz 12 Classificatori Visualizzazione del modello © P. Giorgini, F. Dalpiaz 13 Classificatori Risultati dettagliati © P. Giorgini, F. Dalpiaz 14 Explorer - Clustering WEKA contiene alcuni strumenti di clustering k-Means, EM, Cobweb, X-means, FarthestFirst I cluster possono essere visualizzati e confrontati con la classificazione corretta (se presente) © P. Giorgini, F. Dalpiaz 15 Explorer Clustering con Cobweb © P. Giorgini, F. Dalpiaz 16 Explorer – regole associative WEKA contiene un’implementazione dell’algoritmo Apriori Funziona solo con dati discreti Identifica dipendenze statistiche fra gruppi di attributi latte, burro pane, uova (con confidenza 0.9 and supporto 0.5) © P. Giorgini, F. Dalpiaz 17 Regole associative Data set © P. Giorgini, F. Dalpiaz 18 Regole associative Risultati © P. Giorgini, F. Dalpiaz 19 Explorer – selezione attributi Può essere utilizzato per capire quali sottoinsiemi di attributi sono i più predittivi (information gain e gain ratio!!!) Sono necessarie due tecniche: Metodo di ricerca: best-first, forward selection, random, exhaustive, genetic algorithm, ranking Valutazione: correlation-based, wrapper, information gain, chisquared, … Weka permette molte combinazioni delle due tecniche © P. Giorgini, F. Dalpiaz 20 Selezione attributi Esempio © P. Giorgini, F. Dalpiaz 21 Explorer – Visualizzazione Visualizzazioni presentate in relazione alle varie tecniche Data preprocessing Albero di decisione Clustering ... Visualizzazioni generali © P. Giorgini, F. Dalpiaz 22 Explorer Esempio di visualizzazione (1) © P. Giorgini, F. Dalpiaz 23 Explorer Esempio di visualizzazione (2) © P. Giorgini, F. Dalpiaz 24 WEKA - Un esempio reale Concessione di credito (Germania) Provenienza: Prof. Hans Hofmann – University of Hamburg 1000 instanze 20 attributi 2 classi: concedere credito (yes), non concedere (no) Attributi A1: stato del conto corrente esistente • • • • < 0 DM Fra 0 e 200 DM > 200 DM Nessun conto esistente A2: durata del credito richiesto (in mesi) © P. Giorgini, F. Dalpiaz 25 WEKA – Un esempio reale A3: Storico crediti • • • • • Nessun credito richiesto/tutti i crediti pagati puntualmente Tutti i crediti in questa banca pagati puntualmente Esistono crediti da pagare ma il cliente è ancora in tempo Ci sono stati dei ritardi in passato Account critico/altri crediti in altre banche A4: Scopo del prestito • • • • • • • © P. Giorgini, F. Dalpiaz Auto nuova Auto usata Mobili Radio/televisione Elettrodomestici Riparazioni Educazione... 26 WEKA – Un esempio reale A5: Importo del credito richiesto A6: Importo in risparmi • • • • • <100 DM Fra 100 e 500 DM Fra 500 e 1000 DM > 1000 DM Sconosciuto/nessuno A7: Anzianità di lavoro, per il lavoro attuale • • • • • © P. Giorgini, F. Dalpiaz Disoccupato Meno di un anno Fra 1 e 4 anni Fra 4 e 7 anni Più di 7 anni 27 WEKA – Un esempio reale A8: Numero di rate per il rimborso A9: Stato civile • • • • • Maschio – divorzato/separato Femmina – divorziata/separata/sposata Maschio – single Maschio – sposato/vedovo Femmina – single A10: Altri debitori/garanti • Nessuno • Co-applicante • Garante A11: Numero di anni nella residenza corrente © P. Giorgini, F. Dalpiaz 28 WEKA – Un esempio reale A12: Proprietà • • • • Bene immobile Accordo con la società di costruzione/Assicurazione sulla vita Automobile o altro Sconosciuta/nessuna proprietà A13: Età (in anni) A14: Altri pagamenti rateali • Banca • Negozi • Nessuno A15: Abitazione • Affitto • Propria • Gratuita © P. Giorgini, F. Dalpiaz 29 WEKA – Un esempio reale A16: Numero di crediti esistenti in questa banca A17: Lavoro • • • • Disoccupato/Non qualificato – a tempo determinato Non qualificato – a tempo indeterminato Impiegato qualificato Management / Autonomo / Impiegato ad alta qualificazione A18: persone a carico A19: Telefono • No • Sì, registrato a proprio nome A20: Lavoratore straniero • Sì • No © P. Giorgini, F. Dalpiaz 30 Weka in azione Classificatori ADTree (alternating decision tree) J48 (C4.5 implementation) Naive Bayes Bayes Network IBK SimpleLogistic (error on probabilities) SMO (SVM) Evaluating Training set vs. Cross validation Clustering EM (Expectation Maximization) Simple K Means © P. Giorgini, F. Dalpiaz 31 Weka in azione Regole associative Apriori Attributi più predittivi BestFirst + CfsSubsetEval GainRatio + Ranker © P. Giorgini, F. Dalpiaz 32