0% found this document useful (0 votes)
4 views

NOTES

Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views

NOTES

Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 18

Decision Tree

Introduction
• Decision Tree is a Supervised learning technique that can be used for both
classification and Regression problems, but mostly it is preferred for solving
classification problems.
• It is called a decision tree because, similar to a tree, it starts with the root node,
which expands on further branches and constructs a tree-like structure.
• In order to build a tree, we use the CART algorithm, which stands for
Classification and Regression Tree algorithm.
• A decision tree simply asks a question, and based on the answer (Yes/No), it
further split the tree into sub trees.

Why use Decision Trees?


• Decision Trees usually mimic human thinking ability while making a decision, so
it is easy to understand.
• The logic behind the decision tree can be easily understood because it shows a
treelike structure.
Working of Decision Tree
• In a decision tree, for predicting the class of the given dataset, the algorithm
starts from the root node of the tree. This algorithm compares the values of
root attribute with the record (real dataset) attribute and, based on the
comparison, follows the branch and jumps to the next node.

• Step-1: Begin the tree with the root node, says S, which contains the complete
dataset.
• Step-2: Find the best attribute in the dataset using Attribute Selection Measure
(ASM).
• Step-3: Divide the S into subsets that contains possible values for the best
attributes.
• Step-4: Generate the decision tree node, which contains the best attribute.
• Step-5: Recursively make new decision trees using the subsets of the dataset
created in step -3. Continue this process until a stage is reached where you
cannot further classify the nodes and called the final node as a leaf node.
Working of Decision Tree
• Example: Suppose there is a candidate who has a job offer and wants to decide
whether he should accept the offer or Not. So, to solve this problem, the
decision tree starts with the root node (Salary attribute by ASM).
Decision Tree Terminologies
• Root Node: Root node is from where the decision tree starts. It represents the
entire dataset, which further gets divided into two or more homogeneous sets.

• Leaf Node: Leaf nodes are the final output node, and the tree cannot be
segregated further after getting a leaf node.

• Splitting: Splitting is the process of dividing the decision node/root node into
sub-nodes according to the given conditions.

• Branch/Sub Tree: A tree formed by splitting the tree.

• Pruning: Pruning is the process of removing the unwanted branches from the
tree.

• Parent/Child node: The root node of the tree is called the parent node, and
other nodes are called the child nodes.
Decision Tree Terminologies
Attribute Selection Measures
• While implementing a Decision tree, the main issue arises that how to select
the best attribute for the root node and for sub-nodes.
• So, to solve such problems there is a technique which is called as Attribute
selection measure or ASM. By this measurement, we can easily select the best
attribute for the nodes of the tree.

 Information Gain:
• Information gain is the measurement of changes in entropy after the
segmentation of a dataset based on an attribute. It calculates how much
information a feature provides us about a class.
• According to the value of information gain, we split the node and build the
decision tree.
• A decision tree algorithm always tries to maximize the value of information
gain, and a node/attribute having the highest information gain is split first. It
can be calculated using the below formula:
Impurity Measures
• Impurity measures how often a randomly chosen element of a set would be
incorrectly labeled if it were labeled randomly and independently according to
the distribution of labels in the set.
• If our dataset is Pure then likelihood of incorrect classification is 0.

• Entropy: Entropy is a metric to measure the impurity in a given attribute.


• It specifies randomness in data. Entropy can be calculated as:

where:
• 𝑝+​ is the proportion of positive samples
• 𝑝−​ is the proportion of negative samples
Impurity Measures
• Gini Index: Gini index is a measure of impurity or purity used
while creating a decision tree in the CART(Classification and
Regression Tree) algorithm.
• An attribute with the low Gini index should be preferred as
compared to the high Gini index.
• It only creates binary splits, and the CART algorithm uses the Gini
index to create binary splits.
• Gini index can be calculated using the below formula:
Example
Let's calculate the information gain for the attribute "Outlook".
• Step 1: Calculate the entropy for each subset
• Outlook:
Total: 14 (No, No, No, Yes, Yes)
Positive: 9
Negative: 5
Entropy:
Let's calculate the information gain for the attribute "Outlook".
• Step 1: Calculate the entropy for each subset
• Sunny:
Total: 5 (No, No, No, Yes, Yes)
Positive: 2
Negative: 3
Entropy:
• Overcast:
Total: 4 (Yes, Yes, Yes, Yes)
Positive: 4
Negative: 0
Entropy:

• Rain:
Total: 5 (Yes, Yes, Yes, No, No)
Positive: 3
Negative: 2
Entropy:
So, the information gain for splitting on the "Outlook" attribute is approximately 0.252.

By calculating these metrics, you can decide which attribute provides the best split in
building a decision tree.
Pruning
• A too-large tree increases the risk of overfitting, and a small tree
may not capture all the important features of the dataset.
• Therefore, a technique that decreases the size of the learning tree
without reducing accuracy is known as Pruning.

“Pruning is a process of deleting the unnecessary nodes from a tree


in order to get the optimal decision tree.”

• There are mainly 2 ways for pruning:


• Pre-pruning – we can stop growing the tree earlier, which means
we can prune/remove/cut a node if it has low importance while
growing the tree.
• Post-pruning – once our tree is built to its depth, we can start
pruning the nodes based on their significance.
Random Forest
• Random Forest is a popular machine learning algorithm that belongs to
the supervised learning technique.
• It can be used for both Classification and Regression problems in ML.
• It is based on the concept of ensemble learning, which is a process of
combining multiple classifiers to solve a complex problem and to
improve the performance of the model.
• As the name suggests, "Random Forest is a classifier that contains a
number of decision trees on various subsets of the given dataset and
takes the average to improve the predictive accuracy of that dataset.“
• Instead of relying on one decision tree, the random forest takes the
prediction from each tree and based on the majority votes of
predictions, and it predicts the final output.
• The greater number of trees in the forest leads to higher accuracy and
prevents the problem of overfitting.
Working of Random Forest
• Random Forest works in two-phase first is to create the random forest
by combining N decision tree, and second is to make predictions for
each tree created in the first phase.
• The Working process can be explained in the below steps:

• Step-1: Select random K data points from the training set.


• Step-2: Build the decision trees associated with the selected data points
(Subsets).
• Step-3: Choose the number N for decision trees that you want to build.
• Step-4: Repeat Step 1 & 2.
• Step-5: For new data points, find the predictions of each decision tree,
and assign the new data points to the category that wins the majority
votes.

You might also like