This is where Decision Trees get praised most. Since it's constructed of one single tree in such a straightforward way, you can directly observe Decision Tree in the working or easily interpret its results.
Doesn't require normalization
On top of no normalization requirement, decision trees also don't require scaling or pre-handling missing data.
These factors make decision tree a champ when it comes to easy data preparation and it provides overall great quick and dirty results.
Handles missing values, useful for feature engineering.
Training process is relatively faster for decision trees compared to some other algorithms such as random forests.
This makes sense since random forest deals with multiple trees and decision tree is concerned with a single decision tree.
Although Decision Trees are simple to interpret, it doesn't mean they are always simple to implement.
There are lots parameters that can affect the results of a decision tree algorithm which gives you more control over the results, efficiency and performance.
However, if you want to optimize decision trees, there can be a learning curve and expect a new terminology of; nodes, leaves, tree size, pruning etc.
Holy Python is reader-supported. When you buy through links on our site, we may earn an affiliate commission.
This risk is considerably high with decision trees and they do tend to get stuck in local minimas. This can destroy the machine learning experience.
Although there are other varieties (think regression trees) If you need to predict continuous values through regression you are out of luck with decision trees as they are strictly classification models and can't be used for regression.
Decision trees, although a great idea fundamentally, can be limited when it comes to prediction powers. When there are lots of features and a complex large datasets, random forests start to show off their prediction potential.
If dataset is not balanced this can cause a bias. Balancing dataset in advance fixes this problem.
This gotta be the biggest edge of Decision Trees. They just give easy, readable outputs.
Data prep is easy with Decision Trees on so many levels. (missing data is ok,no normalization, no scaling etc.)
Compared to some algorithms such as random forests, decision trees are a lighter alternative.
Decision Trees come with a learning curve especially if you want to get hands-on with them. There are lots of important parameters that can make a big difference.
Despite its edge on Random Forests, Decision Trees are computationally expensive in general.
Decision tree can be limited in its accuracy and tackling complex data.