Stacking

Published

· Updated

Stacking is a technique in AI that combines multiple algorithms to enhance overall performance by blending the strengths of various AI models, compensating for each model’s weaknesses.

Stacking — formally stacked generalization, proposed by David Wolpert in 1992 — is an ensemble method with one distinguishing idea: instead of averaging your models’ predictions, you train another model to learn how to combine them.

How stacking works

It runs in two levels.

Level 0 is a set of diverse base models trained on the same problem — say a gradient-boosted tree, a random forest, and a neural network. Diversity is the point. Three models that make the same mistakes give the combiner nothing to work with.

Level 1 is a meta-learner, often something deliberately simple like logistic regression, trained on the base models’ predictions as its input features. It learns which model to trust under which conditions — that the tree is reliable on dense numeric features, for instance, while the network handles the sparse ones better.

The critical detail is that the meta-learner must be trained on out-of-fold predictions. If you feed it predictions the base models made on data they were trained on, those predictions are unrealistically good and the meta-learner learns to trust them far too much. scikit-learn’s StackingClassifier handles the cross-validation for you, which is a good reason to use it rather than rolling your own.

Why stacking matters

Stacking is how a very large share of Kaggle competitions have been won. When the difference between first and fiftieth is a fraction of a percent, squeezing complementary signal out of several models is where that fraction comes from.

In production the calculus changes. Stacking multiplies your inference cost, your latency, and your maintenance surface — several models to monitor, retrain, and debug instead of one. A well-tuned single gradient-boosted model is usually the better engineering decision unless the accuracy gain is genuinely load-bearing.

Note that stacking is a classical machine learning technique and distinct from model chaining in LLM systems, where outputs are passed between models in sequence rather than combined by a learned meta-model.

Related terms: Machine Learning (ML), Overfitting, Optimization, Benchmarking.