Dr. A. Appice. Alberi di Decisione. Caso di studio di Metodi Avanzati di Programmazione AA 2012-2013



Documenti analoghi
Alberi di Regressione

Università di Pisa A.A

Sistemi Intelligenti 42. Apprendimento PAC

Introduzione alle tecniche di Data Mining. Prof. Giovanni Giuffrida

Alberi di Decisione. Fabio Aiolli Sito web del corso

Creazione di un modello di data mining di tipo OLAP con l'algoritmo Microsoft Clustering

Analisi dei requisiti e casi d uso

Data mining: classificazione DataBase and Data Mining Group of Politecnico di Torino

ID3: Selezione Attributo Ottimo

C4.5 Algorithms for Machine Learning

Apprendimento di Alberi di Decisione: Bias Induttivo

Aprire WEKA Explorer Caricare il file circletrain.arff Selezionare random split al 66% come modalità di test Selezionare J48 come classificatore e

Data mining. Vincenzo D Elia. vincenzo.delia@polito.it. DBDMG - Politecnico di Torino

Ricerca di outlier. Ricerca di Anomalie/Outlier

Regressione logistica. Strumenti quantitativi per la gestione

Rappresentazione grafica di entità e attributi

Client - Server. Client Web: il BROWSER

Ricerca Operativa e Logistica

Sistemi Intelligenti 57. Alberi di Decisione. funzioni target con valori di output discreti (in generale più di 2 valori);

Data mining. Data Mining. processo di Data Mining estrarre automaticamente informazioneda un insieme di dati

MODELLO E/R. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

Prof. Giuseppe Chiumeo. Avete già studiato che qualsiasi algoritmo appropriato può essere scritto utilizzando soltanto tre strutture di base:

Obiettivi dell esercitazione. Requisiti (cont.) Requisiti. Università di Roma La Sapienza A.A Facoltà di Ingegneria Sede di Latina

UNIVERSITA DEGLI STUDI DI BRESCIA Facoltà di Ingegneria

Fondamenti di Informatica. Docenti: Prof. Luisa Gargano Prof. Adele Rescigno BENVENUTI!

DIFFERENZIARE LE CAMPAGNE DI MARKETING La scelta del canale adeguato

Strumenti e metodi per la redazione della carta del pericolo da fenomeni torrentizi

Modelli di Programmazione Lineare e Programmazione Lineare Intera

Esercizi Capitolo 6 - Alberi binari di ricerca

Sistemi Informativi Territoriali. Paolo Mogorovich

Esperienze di Apprendimento Automatico per il corso di Intelligenza Artificiale

Corso di laurea in Economia e Gestione delle Arti e delle Attività Culturali a.a INTRODUZIONE ALLA STATISTICA DESCRITTIVA

Siti web centrati sui dati Architettura MVC-2: i JavaBeans

2) Codici univocamente decifrabili e codici a prefisso.

Effetto Feedback fra somiglianza e influenza sociale nelle community on line

Progetto ASTREA WP2: Sistema informativo per il monitoraggio del sistema giudiziario

MACHINE LEARNING e DATA MINING Introduzione. a.a.2015/16 Jessica Rosati jessica.rosati@poliba.it

Trasformazione dei Processi in Progetti DIB 1

FACOLTÀ DI AGRARIA REGOLAMENTO PER L ACCERTAMENTO DELLA CONOSCENZA DELLA LINGUA INGLESE

Organizzazione degli archivi

Semantica dei programmi. La semantica dei programmi è la caratterizzazione matematica dei possibili comportamenti di un programma.

CONTENT MANAGEMENT SYSTEM

Architettura MVC-2: i JavaBeans

Training Set Test Set Find-S Dati Training Set Def: Errore Ideale Training Set Validation Set Test Set Dati

METODOLOGIA STATISTICA E CLASSIFICAZIONE DEI DATI

Esercizi per il corso di Algoritmi e Strutture Dati

Cos è l ISC (Indicatore Sintetico del Conto Corrente) e cosa sono i Profili tipo d utilizzo

Segmentazione del mercato e scelta del target

Fasi di creazione di un programma

Corso integrato di informatica, statistica e analisi dei dati sperimentali Altri esercizi_esercitazione V

Progettazione di Basi di Dati

Con il termine programma Teacch si intende l organizzazione dei servizi per persone autistiche realizzato nella Carolina del Nord, che prevede una

1) Dati in ingresso 2 numeri, l algoritmo calcola e stampa a video la loro somma

CURRICULUM SCUOLA PRIMARIA MATEMATICA

Lezione 1. Concetti Fondamentali

(anno accademico )

Introduzione alle relazioni multivariate. Introduzione alle relazioni multivariate

Sistemi Informativi Aziendali. Sistemi Informativi Aziendali

I sistemi di numerazione

EU-StORe Indagine sulla qualità delle risorse didattiche aperte

Gruppo di lavoro per i B.E.S. D.D. 3 Circolo Sanremo. Autore: Pulvirenti Antonella P roposta di lavoro per le attività nei laboratori di recupero

Guida all uso di Java Diagrammi ER

Laboratorio di Apprendimento Automatico. Fabio Aiolli Università di Padova

Product Shipping Cost Guida d'installazione ed Utilizzo

Componente evalue. ZUFFELLATO SERVICE s.r.l.

5.3 TABELLE RECORD Inserire, eliminare record in una tabella Aggiungere record Eliminare record

Università degli Studi di Verona. Laboratorio di Basi di Dati

MODULO N. 1: IL DIRITTO IN GENERALE LA NORMA GIURIDICA

Algoritmi e strutture dati. Codici di Huffman

IL SISTEMA INFORMATIVO

La struttura dati ad albero binario

Tipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto:

FLASHINVESTOR Manuale dell Utente

MANUALE D USO DELL E-COMMERCE. Versione avanzata

SQL - Funzioni di gruppo

Basi di dati. Concetti introduttivi ESEMPIO. INSEGNAMENTI Fisica, Analisi, Aule. Docenti. Entità Relazioni Interrogazioni. Ultima modifica: 26/02/2007

MOBILE APP NEAREST. Trova i professionisti più vicini. Copyright 2016 Multiversity S.p.a. Tutti i diritti riservati

Analisi di dati di frequenza

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini.

Corso di Perfezionamento in Didattica delle Lingue Moderne Indirizzo: apprendimento in LS (CLIL) A.A

Ingegneria del Software T

Test di italiano di livello A2 e Permesso di soggiorno CE

Calcolo delle probabilità

Basi di dati. Il Modello Relazionale dei Dati. K. Donno - Il Modello Relazionale dei Dati

Cenni su algoritmi, diagrammi di flusso, strutture di controllo

RELAZIONE PROGETTO DATABASE GESTIONE BIBLIOTECA PERSONALE

SIEBEL CRM ON DEMAND MARKETING

Algoritmi e Strutture Dati & Laboratorio di Algoritmi e Programmazione

Misure (parte II) Gerarchie Incomplete

La consulenza nella MIFID 2. Flavio Bongiovanni CONSOB

DOTE SCUOLA è uno strumento che:

10.1. Un indirizzo IP viene rappresentato in Java come un'istanza della classe InetAddress.

regola(1,[e,f],b) regola(2,[m,f],e) regola(3,[m],f) regola(4,[b,f],g) regola(5,[b,g],c) regola(6,[g,q],a)

EUROPEAN COMPUTER DRIVING LICENCE. Use of the GIS Software. Syllabus

Una metodologia di progettazione di applicazioni web centrate sui dati

Metodi Computazionali

Corso di Analisi Statistica per le Imprese (9 CFU) Prof. L. Neri a.a

Riccardo Dutto, Paolo Garza Politecnico di Torino. Riccardo Dutto, Paolo Garza Politecnico di Torino

PISA 2012 Alfabetizzazione finanziaria: il quadro di riferimento

Transcript:

Alberi di Decisione Caso di studio di Metodi Avanzati di Programmazione AA 2012-2013

Data Mining Lo scopo del data mining è l estrazione (semi) automatica di conoscenza nascosta in voluminose basi di dati al fine di renderla disponibile e direttamente utilizzabile

Aree di Applicazione 1. previsione utilizzo di valori noti per la previsione di quantità non note (es. stima del fatturato di un punto vendita sulla base delle sue caratteristiche) 2. classificazione individuazione delle caratteristiche che indicano a quale gruppo un certo caso appartiene (es. discriminazione tra comportamenti ordinari e fraudolenti) 3. segmentazione individuazione di gruppi con elementi omogenei all interno del gruppo e diversi da gruppo a gruppo (es. individuazione di gruppi di consumatori con comportamenti simili) 4. associazione individuazione di elementi che compaiono spesso assieme in un determinato evento (es. prodotti che frequentemente entrano nello stesso carrello della spesa) 5. sequenze individuazione di una cronologia di associazioni (es. percorsi di visita di un sito web)

Classificazione Considerando dati storici relativi a passati clienti e pagamenti, predire (decidere) se il richiedente un prestito sarà o meno un buon pagatore Storico Clienti Classificatore Regole di decisione Nome Età Reddito Professione Indirizzo Tipo cliente reddito > 35.000 prof. = insegnante Buono? pagatore Cattivo Dati di un nuovo cliente: Paolo Rossi, 35,37.000,architetto,Bari,?

Metodi di classificazione Apprendimento induttivo da esempi per imparare la definizione di una funzione di classificazione Gli esempi usati per l apprendimento sono descritti come vettori di coppie attributo-valore per i quali è nota la classe

Metodi di classificazione Dr. A. Appice Alberi di decisione Le funzioni di classificazione sono apprese in forma di albero dove: ogni nodo interno rappresenta una variabile, un arco verso un nodo figlio rappresenta un possibile valore per quella proprietà, e una foglia il valore predetto per la classe a partire dai valori delle altre proprietà, che nell'albero è rappresentato del cammino (path) dalla nodo radice (root) al nodo foglia. Un albero di decisione viene costruito utilizzando tecniche di apprendimento a partire dall'insieme dei dati iniziali (training set) per i quali è nota la classe http://it.wikipedia.org/wiki/albero_di_decisione

Induzione di Alberi di decisione Input Input: una collezione di esempi di apprendimento (training set), ciascun esempio è una tupla di valori per un prefissato insieme di attributi (variabili indipendenti) A = {A 1, A 2,, A m } e un attributo di classe (variabile dipendente). L attributo A i è descritto come continuo o discreto a seconda che i sui valori siano numerici o nominali. L attributo di classe C è discreto e ha valori C 1, C 2,, C k.

Induzione di Alberi di Decisione Input Day Outlook Temperature Humidity Wind PlayTennis D1 Sunny Hot High Weak No D2 Sunny Hot High Strong No D3 Overcast Hot High Weak Yes D4 Rain Mild High Weak Yes D5 Rain Cool Normal Weak Yes D6 Rain Cool Normal Strong No D7 Overcast Cool Normal Strong Yes D8 Sunny Mild High Weak No D9 Sunny Cool Normal Weak Yes D10 Rain Mild Normal Weak Yes D11 Sunny Mild Normal Strong Yes D12 Overcast Mild High Strong Yes D13 Overcast Hot Normal Weak Yes D14 Rain Mild High Strong No [See: Tom M. Mitchell, Machine Learning, McGraw-Hill, 1997]

Outlook Dr. A. Appice Induzione di Alberi di Decisione Output Sunny Overcast Rain Humidity Yes Wind High Normal Strong Weak No Yes No Yes

Decision Trees C4.5: Output Outlook Sunny Overcast Rain Humidity nodi interni sono associati a test su attributi High No Normal Yes Ciascun ramo e associato a un valore del test Ciascuna foglia è associata a un valore di classe

Alberi di decisione Dr. A. Appice Come usare l albero per classificare? Outlook Temperature Humidity Wind PlayTennis Sunny Hot High Weak? Outlook No Sunny Overcast Rain Humidity Yes Wind High Normal Strong Weak No Yes No Yes

Alberi di Decisione Congiunzione di condizioni Dr. A. Appice Outlook Sunny Overcast Rain Wind No No Strong Weak No Yes Outlook=Sunny Wind=Weak

Alberi di Decisione Disgiunzione di congiunzioni Outlook Sunny Overcast Rain Dr. A. Appice Humidity Yes Wind High Normal Strong Weak No Yes No Yes (Outlook=Sunny Humidity=Normal) (Outlook=Overcast) (Outlook=Rain Wind=Weak)

Alberi di Decisione Regole Outlook Sunny Overcast Rain Humidity Yes Wind High Normal Strong Weak No Yes No Yes R 1 : If (Outlook=Sunny) (Humidity=High) Then PlayTennis=No R 2 : If (Outlook=Sunny) (Humidity=Normal) Then PlayTennis=Yes R 3 : If (Outlook=Overcast) Then PlayTennis=Yes R 4 : If (Outlook=Rain) (Wind=Strong) Then PlayTennis=No R 5 : If (Outlook=Rain) (Wind=Weak) Then PlayTennis=Yes

Alberi di Decisione Tipo di test Ciascun nodo interno è associato ad un test che coinvolge un attributo A i. Se A i è discreto: un test con z alternative, una per ciascun valore assunto da A i Outlook Sunny Overcast Rain

Alberi di Decisione Tipo di test Dr. A. Appice Ciascun nodo interno è associato ad un test che coinvolge un attributo A i. Se Ai è continuo: un test con 2 alternative sulla base di una soglia : Ai vs. Ai >. Stay Tenure Tenure<=2.5 Tenure>2. Services Services<=3 Services>3 Leave Stay

Alberi di decisione Dr. A. Appice Selezionare i test Domanda: Come determinare quale attributo classifica meglio dati? Risposta: Entropia!!! Sia: S la porzione di esempi di training correntemente analizzati. C j una classe in C 1, C 2,, C k. RF(C i,s), i=1,..k sono le frequenze relative delle etichette C i in S (numero di casi di S che appartengono alla classe C i. L entropia di E in S è calcolata come: E(S) RF(C i,s)log 2(RF(C i,s)) i 1.. k

Alberi di decisione Selezionare i test E(S) è una misura dell incertezza contenuta in S. Assume valore massimo se gli eventi sono equiprobabili RF(C 1,S)= = RF(C k,s)=1/k. Assume valore minimo se solo uno degli eventi ha probabilità diversa da zero. RF(C i,s)=1 RF(C j,s)=0 j i

Alberi di decisione Selezionare i test In problemi di classificazione binaria (due classi C 1 =+, C 2 = -) con: p il numero di esempi di S in classe + n il numero di esempi di S in classe - La entropia E(S) è calcolata come segue: E(S) = -plog 2 p - nlog 2 n

Alberi di decisione Selezionare i test Lo Information Gain G(S, t) rappresenta la riduzione attesa di entropia conseguente al partizionamento degli esempi di S in accordo al test t. Sia S 1,, S t il partizionamento di S per il test t sull attributo A i,: Si G ( S, t) E( S) E( Si ) S Il criterio basato sull Information Gain sceglie il test t che massimizza G(S,t) i

Esempio Alberi di decisione Selezionare i test Day Outlook Temp. Humidity Wind Play Tennis D1 Sunny Hot High Weak No D2 Sunny Hot High Strong No D3 Overcast Hot High Weak Yes D4 Rain Mild High Weak Yes D5 Rain Cool Normal Weak Yes D6 Rain Cool Normal Strong No D7 Overcast Cool Normal Weak Yes D8 Sunny Mild High Weak No D9 Sunny Cold Normal Weak Yes D10 Rain Mild Normal Strong Yes D11 Sunny Mild Normal Strong Yes D12 Overcast Mild High Strong Yes D13 Overcast Hot Normal Weak Yes D14 Rain Mild High Strong No Dr. A. Appice

Alberi di decisione Selezionare i test 14 esempi di apprendimento: 9 - Yes, 5 - No E(S) = -9/14log 2 (9/14) - 5/14log 2 (5/14) =.940 Information Gain per Outlook Outlook: sunny (5), overcast (4), rain (5) Il test su Outlook partiziona S come segue: outlook = sunny (5 esempi) RF(Yes)=2/5 RF(No)=3/5 outlook = overcast (4 esempi) RF(Yes)=4/4 RF(No)=0/4 outlook = rain (5 esempi) RF(Yes) = 3/5 RF(No) =2/5

Alberi di decisione Selezionare i test [Yes, No]=[9,5] E=0.940 Outlook Sunny Overcast Rain [Yes, No]=[2,3] E=0.971 [Yes, No]=[4,0] E=0 [Yes, No]=[3,2] E=0.971

Alberi di decisione Selezionare i test E(sunny) = -2/5log 2 (2/5)-3/5log 2 (3/5)=.971 E(overcast) = 0 E(rain) =.971 L entropia di Outlook è: E(Outlook)=5/14 0.971+4/14 0+5/14 0.971=0.694 L Information Gain di un test su Outlook è: G(Outlook)=E(S)-E(Outlook)=0.940-0.694=0.246

Alberi di decisione Selezionare i test Similmente possiamo clacolare: G(Temperature)=0.029 G(humidity)=0.151 G(windy)=0.048 G(Outlook)=0.246 MAX Il test che massimizza lo Information Gain è il test eseguito su Outlook

Alberi di decisione Dr. A. Appice Definire le soglie per test continui Come identificare le possibili soglie per l attributo continuo A? 1. ordinare gli esempi sulla base dei valori dell attributo A (quicksort) 2. per ciascuna coppia (X i, X i+1 ) nella lista ordinata, se le classi di X i e X i+1 sono diverse allora usare la media dei due valori come soglia candidata.

Esempio Dr. A. Appice Alberi di decisione Definire le soglie per test continui A: 10 15 21 28 32 40 50 Class: No Yes Yes No Yes Yes No Threshold: 12.5 24.5 30 45

Alberi di Decisione Algoritmo Dr. A. Appice learntree(table S, int begin, int end){ if( isleaf(s begin, end) root=new LeafNode(S,begin,end); else //split node { root=determinebestsplitnode(s, begin, end); childtree=new DecisionTree[root.getNumberOfChildren()]; for(int i=0;i<root.getnumberofchildren();i++){ childtree[i]=new DecisionTree(); childtree[i].learntree(trainingset,root.begin,root.end); } } }

Alberi di Decisione Dr. A. Appice Esercizio Spiegare come costruire un albero di decisione per Assicurazione carta di credito sul seguente insieme di addestramento: Attributi: Range Reddito, Promozione assicurazione vita, Assicurazione carta di credito, Genere, Età Dati: Genere Età Range Reddito Promozione assic. vita Assicurazione carta di cred. 40-50K No No Maschio 45 30-40K Si No Femmina 40 40-50K No No Maschio 42 30-40K Si Si Maschio 43 50-60K Si No Femmina 38 20-30K No No Femmina 55 30-40K Si Si Maschio 35 20-30K No No Maschio 27 30-40K No No Maschio 43 30-40K Si No Femmina 41 40-50K Si No Femmina 43 20-30K Si No Maschio 29 50-60K Si No Femmina 39 40-50K No No Maschio 55 20-30K Si Si Femmina 19

Alberi di Decisione Ross Quinlan, author of C4.5 Dr. A. Appice http://www.cse.unsw.edu.au/~quinlan/ Ross Quinlan s personal website at the University of New South Wales. c4.5 is available to download, as are several of Quinlan s academic papers.

Caso di studio Progettare e realizzare un sistema client-server denomianto Decision Tree Classifier. Il server include funzionalità di data mining per l apprendimento di alberi di decisione e uso degli stessi come strumento di previsione. Il client è un applet Java che consente di effettuare previsioni usufruendo del servizio di predizione remoto

Istruzioni 1. Il progetto dell'a.a. 2012/13 riguarda il Decision Tree Classifier" ed è valido solo per coloro che superano la prova scritta entro il corrente a.a. 2. Ogni progetto può essere svolto da gruppi di al più TRE (3) studenti. 3. Coloro i quali superano la prova scritta devono consegnare il progetto ENTRO la data prevista per la corrispondente prova orale. 4. La discussione del progetto avverrà alla sua consegna, ad personam per ciascun componente del gruppo. Il voto massimo della prova scritta è 33. Un voto superiore a 30 equivale a 30 e lode. 5. Il voto finale sarà stabilito sulla base del voto attribuito allo scritto e al progetto.

Istruzioni Non si riterrà sufficiente un progetto non sviluppato in tutte le su parti (client-server, applet, accesso al db, serializzazione,