Archive | Ensemble Learning

Box Plot of Gradient Boosting Ensemble Tree Depth vs. Classification Accuracy

How to Develop a Gradient Boosting Machine Ensemble in Python

The Gradient Boosting Machine is a powerful ensemble machine learning algorithm that uses decision trees. Boosting is a general ensemble technique that involves sequentially adding models to the ensemble where subsequent models correct the performance of prior models. AdaBoost was the first algorithm to deliver on the promise of boosting. Gradient boosting is a generalization […]

Continue Reading
Box Plot of AdaBoost Ensemble Weak Learner Depth vs. Classification Accuracy

How to Develop an AdaBoost Ensemble in Python

Boosting is a class of ensemble machine learning algorithms that involve combining the predictions from many weak learners. A weak learner is a model that is very simple, although has some skill on the dataset. Boosting was a theoretical concept long before a practical algorithm could be developed, and the AdaBoost (adaptive boosting) algorithm was […]

Continue Reading
Box Plot of Random Subspace Ensemble Number of Features vs. Classification Accuracy

How to Develop a Bagging Ensemble with Python

Bagging is an ensemble machine learning algorithm that combines the predictions from many decision trees. It is also easy to implement given that it has few key hyperparameters and sensible heuristics for configuring these hyperparameters. Bagging performs well in general and provides the basis for a whole field of ensemble of decision tree algorithms such […]

Continue Reading
Box Plot of Soft Voting Ensemble Compared to Standalone Models for Binary Classification

How to Develop Voting Ensembles With Python

Voting is an ensemble machine learning algorithm. For regression, a voting ensemble involves making a prediction that is the average of multiple other regression models. In classification, a hard voting ensemble involves summing the votes for crisp class labels from other models and predicting the class with the most votes. A soft voting ensemble involves […]

Continue Reading
How to Use One-vs-Rest and One-vs-One for Multi-Class Classification

One-vs-Rest and One-vs-One for Multi-Class Classification

Not all classification predictive models support multi-class classification. Algorithms such as the Perceptron, Logistic Regression, and Support Vector Machines were designed for binary classification and do not natively support classification tasks with more than two classes. One approach for using binary classification algorithms for multi-classification problems is to split the multi-class classification dataset into multiple […]

Continue Reading
Gradient Boosting with Scikit-Learn, XGBoost, LightGBM, and CatBoost

Gradient Boosting with Scikit-Learn, XGBoost, LightGBM, and CatBoost

Gradient boosting is a powerful ensemble machine learning algorithm. It’s popular for structured predictive modeling problems, such as classification and regression on tabular data, and is often the main algorithm or one of the main algorithms used in winning solutions to machine learning competitions, like those on Kaggle. There are many implementations of gradient boosting […]

Continue Reading
How to Develop Multioutput Regression Models in Python

How to Develop Multi-Output Regression Models with Python

Multioutput regression are regression problems that involve predicting two or more numerical values given an input example. An example might be to predict a coordinate given an input, e.g. predicting x and y values. Another example would be multi-step time series forecasting that involves predicting multiple future time series of a given variable. Many machine […]

Continue Reading