Cuando se desea resolver un problema basándonos en algoritmos de Machine Learning, a menudo, seleccionamos, tras un proceso de entrenamiento el algoritmo con mejor rendimiento para que forme parte de un sistema automático. Sin embargo, durante este proceso, se entrenan distintas familias de modelos con distintas configuraciones y, aunque seleccionemos el mejor, otro algoritmo puede estar prediciendo correctamente una parte complementaria del problema a la que no estamos llegando de forma eficiente. Es por ello que el apilamiento de modelos, o model stacking, son una serie de técnicas que permiten entrenar una segunda capa de modelos a partir de las predicciones de los modelos individuales generando, en general, mejores predicciones, más robustas y con menos sesgos.