This chapter covers
- Decision trees and their ensembles
- Gradient boosting decision trees
- Scikit-learn’s gradient boosting decision trees options
- XGBoost algorithm and its innovations
- How LightGBM algorithm works
So far, we have explored machine learning algorithms based on linear models because they can handle tabular problems from datasets consisting of a few rows and columns and find a way to scale to problems of millions of rows and many columns. In addition, linear models are fast to train and get predictions from. Moreover, they are relatively easy to understand, explain, and tweak. Linear models are also helpful because they present many concepts we will keep building on in the book, such as L1 and L2 regularization and gradient descent.
This chapter will discuss a different classical machine learning algorithm: decision trees. Decision trees are the foundations of ensemble models such as random forests and boosting. We will especially focus on a machine learning ensemble algorithm, gradient boosting, and its implementations eXtreme Gradient Boosting (XGBoost) and Light Gradient Boosted Machines (LightGBM), which are considered state-of-the-art solutions for tabular data.