A Python library for stacked generalization (ensemble learning) that supports scikit-learn, XGBoost, and Keras models with out-of-fold prediction saving.
Stacking is a Python library that implements stacked generalization, an ensemble learning technique where predictions from multiple base models are combined using a meta-model to reduce generalization error. It solves the problem of building robust predictive systems by leveraging diverse algorithms while providing tools to save and analyze intermediate predictions.
Data scientists and machine learning engineers working on classification or regression tasks who want to implement ensemble methods beyond simple averaging or voting.
Developers choose Stacking for its clean API, support for popular ML frameworks, and unique ability to persist out-of-fold predictions—enabling deeper analysis and flexible multi-stage stacking workflows not easily available in other libraries.
Stacked Generalization (Ensemble Learning)
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports scikit-learn, XGBoost, and Keras models, allowing flexible combination of diverse algorithms as demonstrated in the binary and multi-class examples.
Automatically saves all out-of-fold predictions during training for detailed analysis and reuse in subsequent stacking stages, a unique feature highlighted in the README.
Wraps models in scikit-learn-like interfaces (fit, predict, predict_proba), ensuring consistency with familiar machine learning workflows.
Offers stacking-only, full-training, or combined modes ('s', 't', 'st'), accommodating different ensemble strategies as described in the base.py details.
Requires manual installation of dependencies like xgboost and optional libraries with prerequisites (e.g., swig for paratext), and defining models in scripts, which is error-prone and time-consuming.
The README provides basic examples but lacks comprehensive API documentation, forcing users to rely on script examples and trial-and-error for advanced usage.
Users must manually define feature lists, model classes, and stacking stages in scripts, demanding deep understanding of ensemble mechanics without guided automation.