What Is a Decision Tree in Machine Learning
SkillVeris Team
AI Research Team

A decision tree is a model that makes predictions by asking a sequence of yes/no questions about the features, splitting the data until it reaches a final answer at a leaf.
In this guide, you'll learn:
- Each internal node is a question, each branch is an outcome, and each leaf is a prediction — the structure reads like a flowchart.
- Trees pick splits that best separate the data, using measures like Gini impurity or information gain.
- Their biggest strength is interpretability: you can trace and explain every prediction.
- Their biggest weakness is overfitting — a deep tree memorizes noise, which pruning and depth limits control.
1What a Decision Tree Is
A decision tree is a machine learning model that predicts an outcome by asking a series of yes/no questions about the input features and following the answers down branches until it reaches a leaf that holds the prediction. It works like a flowchart: start at the top, answer each question, and let the path you take decide the result.
This structure is what makes decision trees so approachable. Unlike many models that behave like black boxes, a trained tree can be drawn out and read directly — you can see exactly which questions led to a given prediction. That transparency makes them a favorite for explaining decisions to non-technical stakeholders.
2The Anatomy of a Tree
A decision tree has three kinds of parts, and naming them makes the rest of the topic clearer. The root and internal nodes hold the questions, the branches represent the possible answers, and the leaves hold the final predictions. Learning to read this anatomy turns any tree diagram into a plain-language set of rules.
- Root node: the first, most informative question, applied to all the data.
- Internal nodes: further questions that split the data into smaller groups.
- Branches: the outcomes of a question that route data left or right.
- Leaf nodes: the endpoints that give the predicted class or value.
🔑Read It Like a Flowchart
Every prediction is just a path from the root to a leaf. Trace the questions along that path and you have a plain-English explanation of the decision.
3How the Tree Chooses Splits
A tree learns by repeatedly choosing the question that best separates the data. At each node it evaluates possible splits and picks the one that makes the resulting groups as pure as possible — meaning each group is dominated by a single class. Two common measures quantify this purity, and the tree greedily picks the split that improves it the most.
- Gini impurity: measures how often a random sample would be misclassified; lower is purer.
- Information gain (entropy): measures how much a split reduces uncertainty about the class.
- For regression trees, splits minimize variance or mean squared error in each group instead.
- The tree keeps splitting until a stopping rule (depth, minimum samples) halts it.
Greedy, Not Perfect
Trees are built greedily: each split is the best choice at that moment, without looking ahead. This is fast and usually good enough, but it means a tree is not guaranteed to find the globally optimal set of splits. Ensembles like Random Forests exist partly to compensate for this limitation.
4The Overfitting Problem
A decision tree's greatest flaw is that, left unchecked, it will keep splitting until every training example sits in its own leaf. Such a tree scores perfectly on training data but memorizes noise and fails on new data. Controlling this overfitting is the central skill of using trees well, and it comes down to limiting how far the tree can grow.
- max_depth: cap how many questions deep the tree can go.
- min_samples_leaf: require each leaf to hold a minimum number of samples.
- min_samples_split: refuse to split a node with too few samples.
- Pruning: grow a full tree, then cut back branches that do not improve validation accuracy.
⚠️Watch Out
A tree with 100% training accuracy is almost always overfit. Always evaluate on held-out data and constrain depth — a perfect training score is a red flag, not a win.
5Using a Decision Tree in Practice
In scikit-learn, training and visualizing a tree takes only a few lines. Because trees need no feature scaling and handle both numeric and categorical splits naturally, they are quick to prototype. You can also export the tree to see the exact rules it learned, which is invaluable for debugging and communication.
- from sklearn.tree import DecisionTreeClassifier
- model = DecisionTreeClassifier(max_depth=4, min_samples_leaf=10)
- model.fit(X_train, y_train) # learns the split questions
- from sklearn.tree import plot_tree # visualize the learned rules
6Best Practices
A handful of habits keep decision trees honest and useful.
- Always set a max_depth or minimum leaf size to prevent runaway overfitting.
- Validate on held-out data, never trust training accuracy alone.
- Visualize the tree to sanity-check that its splits make real-world sense.
- Use a shallow tree when explainability matters more than squeezing out accuracy.
- Move to Random Forests or boosting when a single tree is too unstable.
7Classification and Regression Trees
Decision trees handle both classification and regression, differing only in what a leaf predicts. A classification tree stores the majority class of the samples in each leaf and returns that label. A regression tree stores the average target value of its leaf's samples and returns that number. The split criterion changes to match — impurity measures for classification, variance reduction for regression — but the flowchart structure is identical.
- Classification tree: each leaf predicts a class; splits maximize class purity.
- Regression tree: each leaf predicts an average value; splits minimize variance.
- Both share the same greedy, top-down building process.
- The same overfitting controls (depth, leaf size, pruning) apply to each.
8Key Takeaways
The essentials of decision trees are easy to hold in mind.
- A decision tree predicts through a chain of yes/no questions ending at a leaf.
- Nodes are questions, branches are answers, leaves are predictions.
- Splits are chosen to maximize purity via Gini impurity or information gain.
- Their strength is interpretability; their weakness is overfitting.
- Limit depth and prune to control overfitting; ensembles build on single trees.
9Frequently Asked Questions
Q: What is the difference between a decision tree and a Random Forest? A: A decision tree is a single model, while a Random Forest is an ensemble of many trees whose predictions are combined by voting. The forest sacrifices some interpretability for much better accuracy and resistance to overfitting.
Q: Do decision trees need feature scaling? A: No. Trees split on thresholds and are unaffected by the scale of features, so normalization or standardization is unnecessary. This makes them fast to prototype on raw tabular data.
Q: What is Gini impurity? A: Gini impurity measures how mixed the classes are in a group of samples. A pure group of one class has a Gini of zero. Trees choose splits that lower Gini impurity the most, producing cleaner groups at each level.
Q: When should I use a decision tree over other models? A: Choose a single tree when interpretability is the priority — for example, when you must explain each decision to stakeholders. For raw predictive power on tabular data, ensembles of trees usually perform better.
Related Reading
Get The Print Version
Download a PDF of this article for offline reading.
About the Publisher
SkillVeris Team
AI Research Team
Our AI team covers the latest in machine learning, generative AI, and emerging tech — clearly and accurately.
View all postsRelated Posts
Never miss an update
Get the latest tutorials and guides delivered to your inbox.
No spam. Unsubscribe anytime.