Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Business Intelligence Alberi decisionali © Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 ‹n.› Examples of Classification Task ● Predicting tumor cells as benign or malignant ● Classifying credit card transactions as legitimate or fraudulent ● Classifying secondary structures of protein as alpha-helix, beta-sheet, or random coil ● Categorizing news stories as finance, weather, entertainment, sports, etc © Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 ‹n.› Classification Techniques ● Decision Tree based Methods ● Rule-based Methods ● Memory based reasoning ● Neural Networks ● Naïve Bayes and Bayesian Belief Networks ● Support Vector Machines © Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 ‹n.› Alberi Decisionali L’Albero Decisionale è una tecnica di classificazione o di regressione ad albero. ● Tecnica di data mining prescrittivo (cluster: descrittivo, impossibile uso automatico dei risultato) ● Tecnica di classificazione a priori (-) descrive bene i casi per cui è costruito, difficile generalizzare (problema overfitting) (+) semplice interpretazione dei risultati © Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 ‹n.› Alberi Decisionali ● Nodi (escluse le foglie): domande (decisioni da prendere) Foglie: decisioni Rami: valori degli attributi Cammino: regola ● Albero: È una sequenza di regole, di condizioni: ● ● ● Se .. à allora.. Se età > 18 allora decisione: si © Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 ‹n.› Alberi Decisionali ● ● Quando l’albero viene applicato ai dati di ingresso, ogni dato viene analizzato dall’albero lungo un percorso stabilito da una serie di test sugli attributi (features) del dato stesso, finchè il dato non raggiunge un nodo foglia Ogni nodo è associato ad una classe. Quando arriva alla foglia, al dato viene assegnata: – una etichetta di classe (class label) nel caso di alberi di classificazione, – un valore numerico alla sua variabile target nel caso di alberi di regressione © Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 ‹n.› Alberi di classificazione ● Dato un’insieme di classi con descrizione di un insieme di feature Dato un oggetto stabilire a che classe appartiene C1 ruote=4, motore=si classificazione=auto C2 ruote=2, motore= si classificazione=moto C3 ruote=2, motore= no classificazione=bici ● No. di ruote 2 4 motore si auto no moto bici 7 ● Esempio [Russel, Norvig]: entrare in un ristorante? no. clienti nessuno no alcuni si stima attesa >60 30-60 no prenotazione si fame no si no si Ven/Sab 0-10 10-30 alternative no no pieno si si alternative no si si piove Bar no no si no si si no no si si si si si e no sono le due classi di decisione 8 © Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 ‹n.› ● Apprendimento: costruire l’albero a partire da esempi – esempi di decisioni usi/no nel caso di decisioni binarie – esempi delle varie classi corrispondenti alle fogli: Es. x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 alt. si si no si si no no no no si no si bar no no si no no si si no si si no si 9 © Tan,Steinbach, Kumar V/S no no no si si no no no si si no si fame si si no si no si no si no si no si attributi noC prez alc £££ pieno £ alc £ pieno £ pieno £££ alc ££ ness £ alc ££ pieno £ pieno £££ ness £ pieno £ Dec piov no no no no no si si si si no no no pren si no no no si si no si no si no no tipo F Thai hamb Thai F I hamb Thai hamb I Thai hamb Introduction to Data Mining att 0-10 30-60 0-10 10-30 >60 0-10 0-10 0-10 >60 10-30 0-10 30-60 4/18/2004 ● Una soluzione banale – costruire un ramo per ognuno degli esempi ● Obiettivo Si No Si Si No Si No Si No No No Si ‹n.› – costruire un albero “semplice” – Occam’s razor: il più semplice tra quelli consistenti con gli esempi 10 © Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 ‹n.› Decision Tree Induction ● Many – – – – Algorithms: Hunt’s Algorithm CART ID3, C4.5 SLIQ,SPRINT © Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 ‹n.› Algoritmo ID3[Quinlan] if non ci sono esempi then termina if tutti gli esempi hanno la stessa classificazione then etichetta il nodo con la classificazione else if nessun attrubuto rimasto then termina seleziona attributo ai che discrimina meglio dividi gli esempi in base ai valori di ai costruisci un nodo etichettato con ai e con un ramo in uscita per ogni valore vj di ai richiama ricorsivamente per ogni vj con gli esempi 12 © Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 ‹n.› ● Attributo ideale ai da selezionare ad ogni passo – discrimina completamente tra gli esempi, ossia udati valori v1, …, vk uper ogni vj, tutti gli esempi con lo stesso valore vj hanno la stessa classificazione 13 © Tan,Steinbach, Kumar ● Introduction to Data Mining 4/18/2004 ‹n.› Esempio – attributo noClienti: per due valori discrimina completamente nessuno noClienti si: --no: x7, x11 – si: x3, x12 no: x7, x19 14 si: x4, x12 no: x2, x5, x9, x10 si: x1, x3, x6, x8 no: --- attributo tipo: discrimina male per tutti i valori burg – – alcuni pieno tipo I si: x6 no: x10 Thai F si: x1 no: x5 si: x4, x8 no: x2, x11 Tra i due noClienti è la scelta migliore in generale tra tutti è quello con entropia più bassa © Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 ‹n.› – Algoritmo procede ricorsivamente considerando il valore “pieno” di noClienti e considerando gli esempi per quel valore usi analizzano gli altri attributi usi seleziona quello che discrimina meglio nel caso “fame”: per uno dei due valori si ha classificazione completa noClienti nessuno alcuni pieno si: --no: x7, x11 si: x1, x3, x6, x8 no: --- si: x4, x12 no: x2, x5, x9, x10 fame si no si: x4, x12 no: x2, x10 – si: --no: x5, x9 Analogamente si procede ricorsivamente su ramo “si” 15 © Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 ‹n.› – Alla fine albero risultante (diverso da quello visto prima) noClienti nessuno alcuni pieno si: --no: x7, x11 no si fame si no si: x4, x12 no: x2, x10 burg si: x12 no: --si si: x1, x3, x6, x8 no: --- si: x4, x12 no: x2, x5, x9, x10 si: --no: x5, x19 tipo I Thai F si: --no: x10 no si: x4 no: x2 si: --no:--si Ven/Sab si si: x4 no: --- 16 © Tan,Steinbach, Kumar si no Introduction to Data Mining no si: --no: x2 si 4/18/2004 ‹n.› How to determine the Best Split Before Splitting: 10 records of class 0, 10 records of class 1 Own Car? Yes Car Type? No Family Student ID? Luxury c1 Sports C0: 6 C1: 4 C0: 4 C1: 6 C0: 1 C1: 3 C0: 8 C1: 0 C0: 1 C1: 7 C0: 1 C1: 0 ... c10 c11 C0: 1 C1: 0 C0: 0 C1: 1 c20 ... C0: 0 C1: 1 Which test condition is the best? © Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 ‹n.› How to determine the Best Split ● Greedy approach: – Nodes with homogeneous class distribution are preferred ● Need a measure of node impurity: C0: 5 C1: 5 C0: 9 C1: 1 Non-homogeneous, Homogeneous, High degree of impurity Low degree of impurity © Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 ‹n.› Measures of Node Impurity ● Entropy ● Gini Index ● Misclassification error © Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 ‹n.› Measure of Impurity: GINI ● Gini Index for a given node t : GINI (t ) = 1 − ∑[ p( j | t )]2 j (NOTE: p( j | t) is the relative frequency of class j at node t). – Maximum (1 - 1/nc) when records are equally distributed among all classes, implying least interesting information – Minimum (0.0) when all records belong to one class, implying most interesting information C1 C2 0 6 Gini=0.000 © Tan,Steinbach, Kumar C1 C2 1 5 Gini=0.278 C1 C2 2 4 Gini=0.444 Introduction to Data Mining C1 C2 3 3 Gini=0.500 4/18/2004 ‹n.› Splitting Criteria based on INFO ● Entropy at a given node t: Entropy(t ) = −∑ p( j | t ) log p( j | t ) j (NOTE: p( j | t) is the relative frequency of class j at node t). – Measures homogeneity of a node. u Maximum (log nc) when records are equally distributed among all classes implying least information u Minimum (0.0) when all records belong to one class, implying most information © Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 ‹n.› Classification task ● Given a collection of records (training set ) – Each record contains a set of attributes, one of the attributes is the class. ● ● Find a model for class attribute as a function of the values of other attributes. Goal: previously unseen records should be assigned a class as accurately as possible. – A test set is used to determine the accuracy of the model. Usually, the given data set is divided into training and test sets, with training set used to build the model and test set used to validate it. © Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 ‹n.› Illustrating Classification Task Tid Attrib1 1 Yes Large Attrib2 125K Attrib3 No 2 No Medium 100K No 3 No Small 70K No 4 Yes Medium 120K No 5 No Large 95K Yes 6 No Medium 60K No 7 Yes Large 220K No 8 No Small 85K Yes 9 No Medium 75K No 10 No Small 90K Yes Learning algorithm Class Induction Learn Model Model 10 Training Set Tid Attrib1 11 No Small Attrib2 55K Attrib3 ? 12 Yes Medium 80K ? 13 Yes Large 110K ? 14 No Small 95K ? 15 No Large 67K ? Apply Model Class Deduction 10 Test Set © Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 ‹n.› Example of a Decision Tree Tid Refund Marital Status Taxable Income Cheat 1 Yes Single 125K No 2 No Married 100K No 3 No Single 70K No 4 Yes Married 120K No 5 No Divorced 95K Yes 6 No Married No 7 Yes Divorced 220K No 8 No Single 85K Yes 9 No Married 75K No 10 No Single 90K Yes 60K Splitting Attributes Refund Yes No NO MarSt Single, Divorced TaxInc < 80K NO Married NO ³80K YES 10 Model: Decision Tree Training Data © Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 ‹n.› Another Example of Decision Tree Tid Refund Marital Status Taxable Income Cheat 1 Yes Single 125K No 2 No Married 100K No 3 No Single 70K No 4 Yes Married 120K No 5 No Divorced 95K Yes 6 No Married No 7 Yes Divorced 220K No 8 No Single 85K Yes 9 No Married 75K No 10 No Single 90K Yes 60K MarSt Married NO Single, Divorced Refund No Yes NO TaxInc < 80K ³80K YES NO There could be more than one tree that fits the same data! 10 © Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 ‹n.› Decision Tree Classification Task Tid Attrib1 Attrib2 Attrib3 1 Yes Large 125K No 2 No Medium 100K No 3 No Small 70K No 4 Yes Medium 120K No 5 No Large 95K Yes 6 No Medium 60K No 7 Yes Large 220K No 8 No Small 85K Yes 9 No Medium 75K No 10 No Small 90K Yes Tree Induction algorithm Class Induction Learn Model Model 10 Training Set Tid Attrib1 11 No Small Attrib2 55K Attrib3 ? 12 Yes Medium 80K ? 13 Yes Large 110K ? Apply Model Class 14 No Small 95K ? 15 No Large 67K ? Decision Tree Deduction 10 Test Set © Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 ‹n.› Apply Model to Test Data Test Data Start from the root of tree. Refund Yes Refund Marital Status Taxable Income Cheat No 80K Married ? 10 No NO MarSt Single, Divorced TaxInc < 80K Married NO > 80K YES NO © Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 ‹n.› Apply Model to Test Data Test Data Refund Yes Refund Marital Status Taxable Income Cheat No 80K Married ? 10 No NO MarSt Single, Divorced TaxInc < 80K NO © Tan,Steinbach, Kumar Married NO > 80K YES Introduction to Data Mining 4/18/2004 ‹n.› Apply Model to Test Data Test Data Refund Yes Refund Marital Status Taxable Income Cheat No 80K Married ? 10 No NO MarSt Single, Divorced TaxInc < 80K Married NO > 80K YES NO © Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 ‹n.› Apply Model to Test Data Test Data Refund Yes Refund Marital Status Taxable Income Cheat No 80K Married ? 10 No NO MarSt Single, Divorced TaxInc < 80K NO © Tan,Steinbach, Kumar Married NO > 80K YES Introduction to Data Mining 4/18/2004 ‹n.› Apply Model to Test Data Test Data Refund Yes Refund Marital Status Taxable Income Cheat No 80K Married ? 10 No NO MarSt Single, Divorced TaxInc < 80K Married NO > 80K YES NO © Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 ‹n.› Apply Model to Test Data Test Data Refund Yes Refund Marital Status Taxable Income Cheat No 80K Married ? 10 No NO MarSt Single, Divorced TaxInc < 80K NO © Tan,Steinbach, Kumar Married Assign Cheat to “No” NO > 80K YES Introduction to Data Mining 4/18/2004 ‹n.› Decision Tree Classification Task Tid Attrib1 Attrib2 Attrib3 1 Yes Large 125K No 2 No Medium 100K No 3 No Small 70K No 4 Yes Medium 120K No 5 No Large 95K Yes 6 No Medium 60K No 7 Yes Large 220K No Tree Induction algorithm Class 8 No Small 85K Yes 9 No Medium 75K No 10 No Small 90K Yes Induction Learn Model Model 10 Training Set Tid Attrib1 11 No Small Attrib2 55K Attrib3 ? 12 Yes Medium 80K ? 13 Yes Large 110K ? 14 No Small 95K ? 15 No Large 67K ? Apply Model Class Decision Tree Deduction 10 Test Set © Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 ‹n.› Decision Tree Based Classification ● Advantages: – – – – Inexpensive to construct Extremely fast at classifying unknown records Easy to interpret for small-sized trees Accuracy is comparable to other classification techniques for many simple data sets © Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 ‹n.› Valutazione delle prestazioni ● Conoscenza appresa influenzata dagli esempi – potrebbe classificare in modo sbagliato nuove istanze – esempi devono essere un buon campione della popolazione 35 © Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 ‹n.› Alberi Decisionali ● ● È importante sottolineare che in questo contesto è già noto a priori il tipo di classificazione che si vuole realizzare: si vuole classificare tra le classi predefinite dal training set e dal test set. Questo tipo di classificatori sono molto utili per applicazioni tipo diagnosi di malattie, ma non permettono di individuare cluster di record che definiscono una nuova classe (ad es. una nuova malattia). © Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 ‹n.› Alberi Decisionali ● La parte più intensa, dal punto di vista computazionale, risulta la generazione dell’albero, problema di trovare il più piccolo albero decisionale. ● Fortunatamente, con delle semplici euristiche si riescono a trovare alberi di decisione capaci di descrivere un gran numero di casi in maniera concisa. L’idea fondamentale alla base di questi algoritmi consiste nel cercare di verificare per primi gli attributi più importanti (attributi discriminativo). Per più “importanti” si intende quelli che fanno più differenza nella classificazione dei dati (la quale differenza viene misurata, con opportuni indici detti indici di diversità come entropia). In questo modo possiamo sperare di arrivare alla classificazione corretta con un piccolo numero di test. ● ● © Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 ‹n.› I decision tree sono relativamente veloci, confrontati con altri metodi di classificazione e regressione, e sono di semplice interpretazione. Questa proprietà ne indica il campo di applicazione nel Data Mining: vengono impiegati quando lo scopo che ci si prefigge è la generazione di regole (di classificazione o regressione) chiare e semplici. © Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 ‹n.› Bibliography ● ● ● ● ● ● ● ● Survey: W. Buntine. Learning classification trees. In Artificial Intelligence Frontiers in Statistics. Chapman & Hall, 1993. CART: L. Breiman, J.H. Friedman, R. Olshen, C.J. Stone. Classification and regression trees. Chapman & Hall, 1984. ID3: J.R.Quinlan. Discovering rules by induction from large collection of examples. In Expert Systems in the Micro Electronic Age. 1979. C. Schaffer. Overfitting avoidance as bias. Machine Learning, #10. 1993. R.Kohavi. A study on cross-validation and boostrap for accuracy estimation and model selection. In Proc. IJCAI, 1995. M.Mehta, R.Agrawal, J. Rissanen. SLIQ: A fast scalable classifier for data mining. In Proc. EDBT, 1996. H.Wang, C.Zaniolo. CMP: A fast decision tree classifier using multivariate predictions. In Proc. ICDE, 2000. J. Gehrke, R.Ramakrishnan, V.Ganti. RainForest: A framework for fast decision tree construction of large datasets. DAMI (4-2/3), 2000. © Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 ‹n.›