Blending vs Stacking

Introduction

Stacking and Blending are two powerful and popular ensemble methods in machine learning. They are very similar, with the difference around how to allocate the training data. They are most noticeable for their popularity and performance in winning Kaggle competitions.

Stacking

Stacking or stacked generalisation was introduced by Wolpert. In essence, stacking predicts by using a meta-model trained from a pool of base models. The base models are trained using training data and asked to give their prediction; a different meta-model is then trained to use the outputs from base models to give the final prediction.

Blending vs Stacking

How Stacking Works

  1. You have Train Data and Test Data. Assume we use 4-fold cross-validation to train base models; the train_data is then divided into 4 parts.
  2. Using the 4-part train_data, the 1st base model (assuming it's a decision tree) is fitted on 3 parts and predictions are made for the 4th part. This is done for each part of the training data.
  3. Model 1 (decision tree) is fitted to all the training data. The trained model will be used to predict Test Data.
  4. Steps 2 to 3 are repeated for the 2nd model (e.g. KNN) and the 3rd model (e.g. SVM). These will give train_data and test_data two more features from the predictions, pred_m2 and pred_m3.
  5. to train the meta-model (assume it's a logistic regression), we use only the newly added features from the base models, which are [pred_m1, pred_m2, pred_m3]. Fit this meta-model on train_data.
  6. The final prediction for test_data is given by the trained metamodel.

Example (Python):

Output:

Accuracy of the stacked model: 0.88

Blending vs Stacking

Blending

Blending is very similar to Stacking. It also uses base models to provide base predictions as new features, and a new meta-model is trained on the new features that give the final prediction. The only difference is that training of the meta-model is applied on a separate holdout set (e.g. 10% of train_data) rather than on a full and folded training set.

Blending vs Stacking

How Blending Works

  1. The train set is split into training and validation sets.
  2. We train the base models on the training set.
  3. We make predictions only on the validation and test sets.
  4. The validation predictions are used as features to build a new model.
  5. This model makes final predictions on the test set using the prediction values as features.

Example (Python):

Output:

Accuracy of the blended model: 0.885

Blending vs Stacking

Advantages and Disadvantages

Stacking

Advantages

  1. Performance: Stacking often performs better than any single base model.
  2. Diversity: It can combine different models, making it flexible to various datasets.

Disadvantages

  1. Complexity: Stacking adds a layer of complexity to your model.
  2. Computationally expensive: It requires training multiple models, which can be computationally expensive.

Blending

Advantages

  1. Simplicity: Blending is simpler than stacking as it avoids the need for cross-validation.
  2. Less leakage: There is less chance of data leakage compared to stacking.

Disadvantages

  1. Use of Data: Unlike stacking, blending uses a holdout set, which may result in under-utilization of the data.
  2. Performance: It may not perform as well as stacking when the number of base models is large.

When to Use Stacking or Blending

The preference among stacking and mixing relies on the specific problem and the computational assets. Stacking is typically favoured for better performance if computational assets and time are not subject. However, blending may be a higher desire when you have many base models or are worried about information leakage.

Variations of Stacking

There are numerous versions of stacking, including weighted stacking, in which the predictions of the base fashions are weighted primarily based on their performance. Another variation is stacking with characteristic choice, in which a subset of the bottom model predictions is used as a capability for the meta-version.

Variations of Blending

Blending can also be varied by converting the holdout set's size or by using one-of-a-kind holdout sets for specific base models. This can help to reduce overfitting and enhance the overall performance of the blending model.

Conclusion

Both Stacking and Blending are effective ensemble strategies that may enhance the performance of gadget learning models. They paint by combining the predictions of more than one base style to make the last prediction. The preference between stacking and blending relies on the specific necessities of your system, getting to know the hassle and the available assets.


Next TopicBloom Filters




Latest Courses