320 likes | 496 Views
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). Cosa è WEKA? (2).
E N D
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? (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
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
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 ...
Apertura file/URL/database Filtri Visualizzazione Explorer – Data Preprocessing
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
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)
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)
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, chi-squared, … • Weka permette molte combinazioni delle due tecniche
Explorer – Visualizzazione • Visualizzazioni presentate in relazione alle varie tecniche • Data preprocessing • Albero di decisione • Clustering • ... • Visualizzazioni generali
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)
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 • Auto nuova • Auto usata • Mobili • Radio/televisione • Elettrodomestici • Riparazioni • Educazione...
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 • Disoccupato • Meno di un anno • Fra 1 e 4 anni • Fra 4 e 7 anni • Più di 7 anni
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
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
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
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
Weka in azione • Regole associative • Apriori • Attributi più predittivi • BestFirst + CfsSubsetEval • GainRatio + Ranker