Decision Trees Algorithms

Total Page:16

File Type:pdf, Size:1020Kb

Decision Trees Algorithms Alon and Omri Decision Trees Algorithms Problem description The problem we are facing is to decide an unknown outcome given a set of parameters. For example: decide whether to wait for a table at a restaurant, based on certain attributes such as wait time, price, etc. Problem Modeling A decision tree is a classifier, ℎ: 풳 → 풴, that predicts the label associated with an instance 푥 ∈ 풳 by traveling from the root to a leaf. Each instance 푥 ∈ 풳 has 푑 features and each feature 푖 ∈ [푑] ranges between 0 and 푗푖. Formally, 풳 = 0,1, … , 푗1 × … × {0,1, … , 푗푑 }. 풴 represents the label feature and ranges between 0 and some constant 푘. Each instance 푥 ∈ 풳 has a true label 푦푥 ∈ 풴. The goal of a decision tree is to accurately predict an instance's label. Formally, we wish to minimize the generalization error which is defined as 푒푟푟퐷 ℎ = ℙ 푥,푦 ~풟[ℎ 푥 ≠ 푦] Where 풟 is a probability distribution over 풳 × 풴. Each node in the decision tree is either a label node (in case that the node is a leaf), or has the form 푥푖 = ? for some 푖 ∈ [푑], (in case that this node is internal node) and each arc coming out of such a node is a number between 0 and 푗푖. For any 푥 ∈ 풳, ℎ(푥) is determined by the following method: 1. Set node to be the root of the tree. 2. Repeat till node is a leaf: 2.1. If the current node is of the form 푥푖 = ?, check 푥푖 and travel on the corresponding arc and set node to be the corresponding child. 3. Return the label on the reached leaf. Ideally, we wish to have a learning algorithm which given a training set 푆 of samples { 푥,1 , 푦1 , … , 푥푚 , 푦푚 }, outputs a decision tree whose generalization error 푒푟푟풟(ℎ) is as small as possible. Unfortunately, it turns out that even designing a decision tree, that minimizes the empirical error 푒푟푟푆(ℎ) (where | 푖:ℎ 푥 ≠푦 | 푒푟푟 ℎ = 푖 푖 푆 푚 ) is NP-complete. Consequently, practical decision-tree learning algorithms are based on heuristics such as a greedy approach, where locally optimal decisions are made at each node. Such algorithms cannot guarantee to return the globally optimal decision tree but tend to work reasonably well in practice. The ID3 (iterative dichotomizer 3)/C4.5 algorithms Each decision tree algorithm should define a strategy for splitting the tree according to the given features. When splitting a given node, we wish to choose an attribute that maximizes the information we gain for labeling the instances. The ID3 algorithm chooses the "Information Gain" measure. We denote 퐻(푆) the entropy of a set of examples 푆 w.r.t to the label feature. Formally, 푘 푖 ∈ 푆 : 푦푖 = 푗 푖 ∈ 푆 : 푦푖 = 푗 퐻 푆 = − ⋅ log ( ) |푆| 2 |푆| 푗 =0 The information gain of attribute 푖 with respect to a set of examples 푆, is defined as: 푗푖 |{푥 ∈ 푆: 푥푖 = 푗}| 퐼퐺 푆, 푖 = 퐻 푆 − ⋅ 퐻({푥 ∈ 푆: 푥 = 푗}) |푆| 푖 푗 =0 We complete the algorithm description by reviewing its pseudo-code. 푰푫ퟑ (푺, 푨 ⊆ [풅]) 1. If all examples are labeled 푖 ∈ {0, … , 푘}, Return the single-node tree Root, with label = 푖. 2. If 퐴 is empty, then return the single node tree Root, with label = most common value of the label attribute in the examples. 3. Let 푖 ∈ 푎푟푚푎푥푗 ∈ 푑 퐼퐺(푆, 푗) 3.1. For each possible value 푣 ∈ {0, … , 푗푖} 3.1.1. Let 푇푣 be the tree returned by 퐼퐷3( 푥, 푦 ∈ 푆: 푥푖 = 푣 , 퐴 ∖ 푖 ). 3.2. Return a tree whose root is 푥푖 = ? and whose children are {푇0, … , 푇푗푖 }. The arc connecting to each child 푇푣 has the form v. Note that the algorithm is recursive. The initial call is 퐼퐷3(푆, 푑 ). C4.5 algorithm has the same structure but uses information gain ratio measure instead of the original information gain in order to split the tree. The information gain ration of a set 푆 and an attribute 푖 is defines: 퐼퐺 푆, 푖 퐼퐺푅 푆, 푖 = 퐼푉 푆, 푖 Where 푗푖 푖 ∈ 푆 : 푥푖 = 푗 푖 ∈ 푆 : 푥푖 = 푗 퐼푉 푆, 푖 = − ⋅ log ( ) |푆| 2 |푆| 푗 =0 Pruning We start with citing a result that was proved in a the course Introduction to machine learning. We have proved for any 훿 ∈ (0,1), with probability at least 1 − 훿 over the choice of a training set of size 푚 (taken 푖. 푖. 푑), it holds for any decision tree ℎ with n nodes that 2 푛 log 푑 + 1 + log⁡( ) 훿 푒푟푟 ℎ ≤ 푒푟푟 ℎ + 풟 푆 2푚 We see that this bound performs a trade-off: on the one hand, we expect larger, more complex decision trees to have a small 푒푟푟푆 ℎ , but the respective value of n will be large. On the other hand, small decision trees will have a small value of n, but 푒푟푟푆 ℎ might be larger. Our hope is that we can find a decision tree with both low empirical error 푒푟푟푆 ℎ , and with a number of nodes n not too high. Our bound indicates that such a tree will have low generalization error 푒푟푟풟 ℎ . This is sometimes referred to as the minimal description length principle which is closely related to Occam's razor principle1 which states in a nutshell that a short explanation (that is, a hypothesis that has a short length) tends to be more valid than a long explanation. 1 http://en.wikipedia.org/wiki/Occam's_razor The algorithm described above still suffers from a big problem: the returned tree will usually be very large. Such trees may have low empirical error, but their generalization error will tend to be high – both according to the theoretical analysis above, and in practice. A common solution is to prune the tree after (or during, as we shall see later) it is built, hoping to reduce it to a much smaller tree, but still with a similar empirical error. Theoretically, according to the bound we have stated, if we can make n much smaller without increasing 푒푟푟푆 ℎ too much, we are likely to get a decision tree with a better generalization error. Usually, post pruning is performed by a bottom-up walk on the tree. Each node might be replaced with one of its subtrees or with a leaf, based on some bound or estimate for the generalization error. Another approach will be to prune the tree while it is being built – stop splitting nodes once a pre-defined criterion has been reached. This approach is sometimes referred to as "pre-pruning". We used the following pruning methods in our project: Pre-pruning where the stopping criterion is when the information gain is too low (i.e. when the information gain reaches a predefined value) Post-pruning method whose estimate of the generalization error is based on the minimum description length bound shown above. Post-pruning method whose estimate of the generalization error is based on a hold-out set. Implementation All the algorithms described above are implemented in a file called ID3.java. This file contains the following classes: ID3 - responsible for building the tree, given a training set. Attribute – represents a specific feature and lists its possible values. Sample – represents a sample 푥 ∈ 풳. Contains a list with the values of 푥's features and its label Node – represents a node in the id3 tree. Contains the node's entropy, its label if it is a leaf, a list of already used attributes and list of samples that still have to be examined. In order to view a tree, one can use the function PrintTree in the ID3 tree to get an If…else…then representation of it. We also implemented a toString() version of it (i.e., printing to the console id3.toString() where id3 is an instance of the class ID3) which prints out a graphic description of the tree which can be generated into an actual graph using the following tool: http://www2.research.att.com/~john/Grappa/grappa1_2.html Evaluation and Discussion Example 1 As a first step, we ran our algorithm on the small dataset from the theoretical exercise. The results we got were, surprisingly enough, identical to the results we got in the exercise. When running the dataset with ID3 we got the following tree: When running with C4.5: We see that when running ID3 (information gain) the data was first split by the attribute “Weather”. When running C4.5 (gain ratio), “Has-Friend” became the first attribute. This is not surprising because the attribute “Weather” has 3 possible values and “Has-Friend” only has 2. We can even see that the attribute “Mood”, which has 3 attributes was dropped from the tree. Example 2 We got a database from the following website: http://www.cis.temple.edu/~ingargio/cis587/readings/id3-c45.html The database is taken from the U.S Congressional Quarterly Almanac and contains information about voters and the way they voted on key issues and whether they are republican or democrats. The Algorithm’s purpose is to determine whether a voter is a democrat or a republican depending on the way they voted on key issues. When running the ID3 algorithm on the database without pruning we got the following tree: Needless to say, this a huge tree (has 67 nodes) and achieves a rather high error rate on the test set (0.0592). When running the algorithm with pre- pruning (a cut off of 0.2 IG) we get the following tree: This tree has a much better error rate on the test set (0.0296).
Recommended publications
  • ID3 ALGORITHM in DATA MINING APPLIED to DIABETES DATABASE Dr.R.Jamuna
    IJITE Vol.03 Issue-03, (March, 2015) ISSN: 2321-1776 Impact Factor- 3.570 ID3 ALGORITHM IN DATA MINING APPLIED TO DIABETES DATABASE Dr.R.Jamuna Professor, Department of Computer Science S.R.College, Bharathidasan university, Trichy. Abstract The past decade has seen a flurry of promising breakthroughs in data mining predictions. Many of these developments hold the potential to prevent dreadful diseases to improve the quality of life. The advances in medical science and technology have corresponded to the use of computer algorithms as an intermediary between the medical researchers and technocrats. Diabetes Mellitus is a major killer disease of mankind today. Data mining techniques can be used to highlight the significant factors causing such a disorder. Even though total cure is not possible for this pancreatic disorder the complications can be avoided by awareness using data mining algorithms. In this paper, eight major factors playing significant role in the Pima Indian population are analyzed. Real time data is taken from the dataset of National Institute of Diabetes and Digestive and Kidney Diseases. The data is subjected to an analysis by logistic regression method using spss 7.5 statistical software, to isolate the most significant factors. Then the significant factors are further applied to decision tree technique called the Iterative Dichotomiser-3 algorithm which leads to significant conclusions. Conglomeration of data mining techniques and medical research can lead to life saving conclusions useful for the physicians. Keywords: BMI, Diabetes, decision tree, logistic regression, plasma. A Monthly Double-Blind Peer Reviewed Refereed Open Access International e-Journal - Included in the International Serial Directories International Journal in IT and Engineering http://www.ijmr.net.in email id- [email protected] Page 10 IJITE Vol.03 Issue-03, (March, 2015) ISSN: 2321-1776 Impact Factor- 3.570 ID3 ALGORITHM IN DATA MINING APPLIED TO DIABETES DATABASE Introduction Diabetes Mellitus is a major killer disease of mankind today.
    [Show full text]
  • Decision Tree Learning an Implementation and Improvement of the ID3 Algorithm
    Decision Tree Learning An implementation and improvement of the ID3 algorithm. CS 695 - Final Report Presented to The College of Graduate and Professional Studies Department of Computer Science Indiana State University Terre Haute, Indiana In Partial Fullfilment of the Requirements for the Degree Master of Science in Computer Science By Rahul Kumar Dass May 2017 Keywords: Machine Learning, Decision Tree Learning, Supervised Learning, ID3, Entropy, Information Gain. Decision Tree Learning An implementation and improvement of the ID3 algorithm. Rahul Kumar Dass CS 695 - supervised by Professor L´aszl´oEgri. Abstract The driving force behind the evolution of computing from automating automation [3] to automating learning [8] can be attributed to Machine Learning algorithms. By being able to generalize from examples, today's computers have the ability to perform autonomously and take critical decisions in almost any given task. In this report, we briefly discuss some of the foundations of what makes Machine Learning so powerful. Within the realm of supervised learning, we explore one of the most widely used classification technique known as Decision Tree Learning. We develop and analyze the ID3 algorithm, in particular we demonstrate how concepts such as Shannon's Entropy and Information Gain enables this form of learning to yield such powerful results. Furthermore, we introduce avenues through which the ID3 algorithm can be improved such as Gain ratio and the Random Forest Approach [4]. 2 Acknowledgements There are many people that I would like to express my sincerest gratitude, without which this research course would not have been completed. Firstly, I would like start by thanking my research advisor Professor L´aszl´oEgri for his support, guidance and giving me the opportunity to study Machine Learning without any prior education or experience in the field.
    [Show full text]
  • Machine Learning: Decision Trees
    What is learning? • “Learning denotes changes in a system that ... MachineMachine Learning:Learning: enable a system to do the same task more efficiently the next time.” –Herbert Simon • “Learning is constructing or modifying DecisionDecision TreesTrees representations of what is being experienced.” Chapter 18.1-18.3 –Ryszard Michalski • “Learning is making useful changes in our minds.” –Marvin Minsky Some material adopted from notes by Chuck Dyer 1 2 Why study learning? A general model of learning agents • Understand and improve efficiency of human learning – Use to improve methods for teaching and tutoring people (e.g., better computer-aided instruction) • Discover new things or structure previously unknown – Examples: data mining, scientific discovery • Fill in skeletal or incomplete specifications about a domain – Large, complex AI systems can’t be completely derived by hand and require dynamic updating to incorporate new information. – Learning new characteristics expands the domain or expertise and lessens the “brittleness” of the system • Build agents that can adapt to users, other agents, and their environment 3 4 1 Major paradigms of machine learning The inductive learning problem • Rote learning – One-to-one mapping from inputs to stored • Extrapolate from a given set of examples to make accurate representation. “Learning by memorization.” Association-based predictions about future examples storage and retrieval. • Supervised versus unsupervised learning • Induction – Use specific examples to reach general conclusions – Learn an unknown function f(X) = Y, where X is an input example and Y is the desired output. • Clustering – Unsupervised identification of natural groups in data – Supervised learning implies we are given a training set of (X, Y) • Analogy – Determine correspondence between two different pairs by a “teacher” – Unsupervised learning means we are only given the Xs and some representations (ultimate) feedback function on our performance.
    [Show full text]
  • Course 395: Machine Learning – Lectures
    Course 395: Machine Learning – Lectures • Lecture 1-2: Concept Learning (M. Pantic) • Lecture 3-4: Decision Trees & CBC Intro (M. Pantic & S. Petridis) • Lecture 5-6: Evaluating Hypotheses (S. Petridis) • Lecture 7-8: Artificial Neural Networks I (S. Petridis) • Lecture 9-10: Artificial Neural Networks II (S. Petridis) • Lecture 11-12: Instance Based Learning (M. Pantic) • Lecture 13-14: Genetic Algorithms (M. Pantic) Maja Pantic Machine Learning (course 395) Decision Trees – Lecture Overview • Problem Representation using a Decision Tree • ID3 algorithm • The problem of overfitting Maja Pantic Machine Learning (course 395) Problem Representation using a Decision Tree • Decision Tree learning is a method for approximating discrete classification functions by means of a tree-based representation • A learned Decision Tree classifies a new instance by sorting it down the tree – tree node ↔ classification OR test of a specific attribute of the instance – tree branch ↔ possible value for the attribute in question • Concept: Good Car size large small ‹size = small, brand = Ferari, mid model = Enzo, sport = yes, brand no sport engine = V12, colour = red› yes Volvo BMW SUV engine no no yes no F12 V12 V8 no yes no Maja Pantic Machine Learning (course 395) Problem Representation using a Decision Tree • A learned Decision Tree can be represented as a set of if-then rules • To ‘read out’ the rules from a learned Decision Tree – tree ↔ disjunction () of sub-trees – sub-tree ↔ conjunction () of constraints on the attribute values • Rule: Good Car size IF (size = large AND brand = BMW) large small OR (size = small AND sport = yes mid AND engine = V12) brand no sport THEN Good Car = yes yes ELSE Good Car = no; Volvo BMW SUV engine no no yes no F12 V12 V8 no yes no Maja Pantic Machine Learning (course 395) Decision Tree Learning Algorithm • Decision Tree learning algorithms employ top-down greedy search through the space of possible solutions.
    [Show full text]
  • An Improved ID3 Decision Tree Algorithm Based on Attribute Weighted
    International Conference on Civil, Materials and Environmental Sciences (CMES 2015) An Improved ID3 Decision Tree Algorithm Based on Attribute Weighted 1 1 1 Xian Liang , Fuheng Qu , Yong Yang Hua Cai2 1 College of Computer Science and Technology, 2 College of electronic and information engineering, Changchun University of Science and Technology, Changchun University of Science and Technology, Changchun 130022, China Changchun 130022, China Abstract—ID3 decision tree algorithm uses information gain properties C has m different values{CCC , ,..., },the selection splitting attribute tend to choose the more property 1 2 m values, and the number of attribute values can not be used to data set of S is divided into m subsets Si (i=1,2...m), measure the attribute importance, in view of the above description attribute A has v different values problems, a new method is proposed for attribute weighting, {AAA , ,..., } the idea of simulation conditional probability, calculation of 1 2 v ,description attribute A set S is partitioned the close contact between the attributes and the decision into v subsets S j (j=1,2...v), the connection between the attributes, as the attribute weights and combination with attribute information gain to selection splitting attribute, attribute A and classification attribute C is defined as v improve the accuracy of decision results. Experiments |S j | show that compared with the improved algorithm and the FA = ∑ .Wj ,The number of samples about the traditional ID3 algorithm, decision tree model has higher j=1 |S | predictive accuracy, less number of leaves. value of attribute A is A j is|S j | ,The total number of Keywords-decision tree; ID3 algorithm; information gain samples is|S | ,the sum of probability of classification I.
    [Show full text]
  • On the Optimization of Fuzzy Decision Trees
    Fuzzy Sets and Systems 112 (2000) 117}125 On the optimization of fuzzy decision trees Xizhao Wang!,*, Bin Chen", Guoliang Qian", Feng Ye" ! Department of Mathematics, Hebei University, Baoding 071002, Hebei, People+s Republic of China " Machine Learning Group, Department of Computer Science, Harbin Institute of Technology, Harbin 150001, People+s Republic of China Received June 1997; received in revised form November 1997 Abstract The induction of fuzzy decision trees is an important way of acquiring imprecise knowledge automatically. Fuzzy ID3 and its variants are popular and e$cient methods of making fuzzy decision trees from a group of training examples. This paper points out the inherent defect of the likes of Fuzzy ID3, presents two optimization principles of fuzzy decision trees, proves that the algorithm complexity of constructing a kind of minimum fuzzy decision tree is NP-hard, and gives a new algorithm which is applied to three practical problems. The experimental results show that, with regard to the size of trees and the classi"cation accuracy for unknown cases, the new algorithm is superior to the likes of Fuzzy ID3. ( 2000 Elsevier Science B.V. All rights reserved. Keywords: Machine learning; Learning from examples; Knowledge acquisition and learning; Fuzzy decision trees; Complexity of fuzzy algorithms; NP-hardness (k) (k) Notation pi , qi relative frequencies concerning some classes X a given "nite set [X"A] a branch of a decision tree i" X" D F(X) the family of all fuzzy subsets fj P( Ai Cj) the conditional frequency (k) de"ned on X Entri fuzzy entropy (k) A, B, C, P, N fuzzy subsets de"ned on X, i.e.
    [Show full text]
  • Selected Algorithms of Machine Learning from Examples
    Fundamenta Informaticae 18 (1993), 193–207 Selected Algorithms of Machine Learning from Examples Jerzy W. GRZYMALA-BUSSE Department of Computer Science, University of Kansas Lawrence, KS 66045, U. S. A. Abstract. This paper presents and compares two algorithms of machine learning from examples, ID3 and AQ, and one recent algorithm from the same class, called LEM2. All three algorithms are illustrated using the same example. Production rules induced by these algorithms from the well-known Small Soybean Database are presented. Finally, some advantages and disadvantages of these algorithms are shown. 1. Introduction This paper presents and compares two algorithms of machine learning, ID3 and AQ, and one recent algorithm, called LEM2. Among current trends in machine learning: similarity-based learning (also called empirical learning), explanation-based learning, computational learning theory, learning through genetic algorithms and learning in neural nets, only the first will be discussed in the paper. All three algorithms, ID3, AQ, and LEM2 represent learning from examples, an approach of similarity-based learning. In learning from examples the most common task is to learn production rules or decision trees. We will assume that in algorithms ID3, AQ and LEM2 input data are represented by examples, each example described by values of some attributes. Let U denote the set of examples. Any subset C of U may be considered as a concept to be learned. An example from C is called a positive example for C, an example from U – C is called a negative example for C. Customarily the concept C is represented by the same, unique value of a variable d, called a decision.
    [Show full text]
  • Extracting Decision Trees from Diagnostic Bayesian Networks to Guide Test Selection
    Extracting Decision Trees from Diagnostic Bayesian Networks to Guide Test Selection Scott Wahl 1, John W. Sheppard 1 1 Department of Computer Science, Montana State University, Bozeman, MT, 59717, USA [email protected] [email protected] ABSTRACT procedure is a natural extension of the general process In this paper, we present a comparison of five differ- used in troubleshooting systems. Given no prior knowl- ent approaches to extracting decision trees from diag- edge, tests are performed sequentially, continuously nar- nostic Bayesian nets, including an approach based on rowing down the ambiguity group of likely faults. Re- the dependency structure of the network itself. With this sulting decision trees are called “fault trees” in the sys- approach, attributes used in branching the decision tree tem maintenance literature. are selected by a weighted information gain metric com- In recent years, tools have emerged that apply an al- puted based upon an associated D-matrix. Using these ternative approach to fault diagnosis using diagnostic trees, tests are recommended for setting evidence within Bayesian networks. One early example of such a net- the diagnostic Bayesian nets for use in a PHM applica- work can be found in the creation of the the QMR knowl- tion. We hypothesized that this approach would yield edge base (Shwe et al., 1991), used in medical diagno- effective decision trees and test selection and greatly re- sis. Bayesian networks provide a means for incorpo- duce the amount of evidence required for obtaining ac- rating uncertainty into the diagnostic process; however, curate classification with the associated Bayesian net- Bayesian networks by themselves provide no guidance works.
    [Show full text]
  • An Implementation of ID3 --- Decision Tree Learning Algorithm
    An Implementation of ID3 --- Decision Tree Learning Algorithm Wei Peng, Juhua Chen and Haiping Zhou Project of Comp 9417: Machine Learning University of New South Wales, School of Computer Science & Engineering, Sydney, NSW 2032, Australia [email protected] Abstract Decision tree learning algorithm has been successfully used in expert systems in capturing knowledge. The main task performed in these systems is using inductive methods to the given values of attributes of an unknown object to determine appropriate classification according to decision tree rules. We examine the decision tree learning algorithm ID3 and implement this algorithm using Java programming. We first implement basic ID3 in which we dealt with the target function that has discrete output values. We also extend the domain of ID3 to real-valued output, such as numeric data and discrete outcome rather than simply Boolean value. The Java applet provided at last section offers a simulation of decision-tree learning algorithm in various situations. Some shortcomings are discussed in this project as well. 1 Introduction 1.1 What is Decision Tree? What is decision tree: A decision tree is a tree in which each branch node represents a choice between a number of alternatives, and each leaf node represents a decision. Decision tree are commonly used for gaining information for the purpose of decision -making. Decision tree starts with a root node on which it is for users to take actions. From this node, users split each node recursively according to decision tree learning algorithm. The final result is a decision tree in which each branch represents a possible scenario of decision and its outcome.
    [Show full text]
  • Decision Trees
    Chapter 9 DECISION TREES Lior Rokach Department of Industrial Engineering Tel-Aviv University [email protected] Oded Maimon Department of Industrial Engineering Tel-Aviv University [email protected] Abstract Decision Trees are considered to be one of the most popular approaches for rep- resenting classifiers. Researchers from various disciplines such as statistics, ma- chine learning, pattern recognition, and Data Mining have dealt with the issue of growing a decision tree from available data. This paper presents an updated sur- vey of current methods for constructing decision tree classifiers in a top-down manner. The chapter suggests a unified algorithmic framework for presenting these algorithms and describes various splitting criteria and pruning methodolo- gies. Keywords: Decision tree, Information Gain, Gini Index, Gain Ratio, Pruning, Minimum Description Length, C4.5, CART, Oblivious Decision Trees 1. Decision Trees A decision tree is a classifier expressed as a recursive partition of the in- stance space. The decision tree consists of nodes that form a rooted tree, meaning it is a directed tree with a node called “root” that has no incoming edges. All other nodes have exactly one incoming edge. A node with outgoing edges is called an internal or test node. All other nodes are called leaves (also known as terminal or decision nodes). In a decision tree, each internal node splits the instance space into two or more sub-spaces according to a certain discrete function of the input attributes values. In the simplest and most fre- 166 DATA MINING AND KNOWLEDGE DISCOVERY HANDBOOK quent case, each test considers a single attribute, such that the instance space is partitioned according to the attribute’s value.
    [Show full text]
  • Introduction to Machine Learning
    Introduction to Machine Learning Introduction to Machine Learning Amo G. Tong 1 Lecture 3 Supervised Learning • Decision Tree • Readings: Mitchell Ch 3. • Some materials are courtesy of Vibhave Gogate and Tom Mitchell. • All pictures belong to their creators. Introduction to Machine Learning Amo G. Tong 2 Supervised Learning • Given some training examples < 푥, 푓(푥) > and an unknown function 푓. • Find a good approximation of 푓. • Step 1. Select the features of 푥 to be used. • Step 2. Select a hypothesis space 퐻: a set of candidate functions to approximate 푓. • Step 3. Select a measure to evaluate the functions in 퐻. • Step 4. Use a machine learning algorithm to find the best function in 퐻 according to your measure. • Concept Learning. • Input: values of attributes Decision Tree: learn a discrete value function. • Output: Yes or No. Introduction to Machine Learning Amo G. Tong 3 Decision Tree • Each instance is characterized by some discrete attributes. • Each attribute has several possible values. • Each instance is associated with a discrete target value. • A decision tree classifies an instance by testing the attributes sequentially. attribute1 value11 value12 value13 attribute2 value21 value22 target value 1 target value 2 Introduction to Machine Learning Amo G. Tong 4 Decision Tree • Play Tennis? Attributes Target value Introduction to Machine Learning Amo G. Tong 5 Decision Tree • Play Tennis? Attributes Target value Introduction to Machine Learning Amo G. Tong 6 Decision Tree • A decision tree. • Outlook=Rain and Wind=Weak. Play tennis? • Outlook=Sunny and Humidity=High. Play Tennis? Introduction to Machine Learning Amo G. Tong 7 Decision Tree • A decision tree.
    [Show full text]
  • Classification: Decision Trees
    Classification: Decision Trees These slides were assembled by Byron Boots, with grateful acknowledgement to Eric Eaton and the many others who made their course materials freely available online. Feel free to reuse or adapt these slides for your own academic purposes, provided that you include proper attribution. Robot Image Credit: Viktoriya Sukhanova © 123RF.com Last Time • Common decomposition of machine learning, based on differences in inputs and outputs – Supervised Learning: Learn a function mapping inputs to outputs using labeled training data (you get instances/examples with both inputs and ground truth output) – Unsupervised Learning: Learn something about just data without any labels (harder!), for example clustering instances that are “similar” – Reinforcement Learning: Learn how to make decisions given a sparse reward • ML is an interaction between: – the input data – input to the function (features/attributes of data) – the the function (model) you choose, and – the optimization algorithm you use to explore space of functions • We are new at this, so let’s start by learning if/then rules for classification! Function Approximation Problem Setting • Set of possible instances X • Set of possible labels Y • Unknown target function f : X ! Y • Set of function hypotheses H = h h : { | X ! Y} Input: Training examples of unknown target function f x ,y n = x ,y ,..., x ,y {h i ii}i=1 {h 1 1i h n ni} Output: Hypothesis that best approximates h H f 2 Based on slide by Tom Mitchell Sample Dataset (was Tennis Played?) • Columns denote
    [Show full text]