perpetual
Perpetual is a high-performance gradient boosting machine. It delivers optimal accuracy in a single run without complex tuning through a simple budget parameter
What is perpetual?
Perpetual is a high-performance gradient boosting machine. It delivers optimal accuracy in a single run without complex tuning through a simple budget parameter. It features out-of-the-box support for causal ML, continual learning, native calibration, and robust drift monitoring, along with Rust core and zero-copy bindings for Python and R
Overview of perpetual
What it is
Perpetual is a gradient boosting machine (GBM) that does not require hyperparameter optimization. It uses a single budget parameter to control predictive power. Increasing the budget improves accuracy on unseen data. Users start with a small budget (e.g., 0.5) and increase it (e.g., 1.0) until no further improvement is observed.
Key features
- Hyperparameter-Free Learning: Achieves optimal accuracy in a single run via a simple
budgetparameter, eliminating the need for hyperparameter optimization. - High-Performance Rust Core: Blazing-fast training and inference with a native Rust core, zero-copy support for Polars/Arrow data, and robust Python & R bindings.
- Comprehensive Objectives: Fully supports Classification (Binary & Multi-class), Regression, and Ranking tasks.
- Advanced Tree Features: Natively handles categorical variables, learnable missing value splits, monotonic constraints, and feature interaction constraints.
- Built-in Causal ML: Out-of-the-box support for causal machine learning to estimate treatment effects.
- Robust Drift Monitoring: Built-in capabilities to monitor both data drift and concept drift without requiring ground truth labels or model retraining.
- Continual Learning: Built-in continual learning capabilities that significantly reduce computational time from O(n²) to O(n).
Use cases
Perpetual can be used for classification, regression, and ranking tasks. It is suitable for scenarios requiring causal effect estimation, drift monitoring (data and concept drift), and continual learning. It also supports native calibration for calibrated distributions and model explainability via feature importance, partial dependence plots, and SHAP values.
Getting started
Install Perpetual via pip or conda: python pip install perpetual conda install -c conda-forge perpetual For Rust: cargo add perpetual For R: install.packages('perpetual') Quick usage example in Python: python from perpetual import PerpetualBooster model = PerpetualBooster(objective='SquaredLoss', budget=0.5) model.fit(X, y)
License and pricing
Licensed under Apache-2.0. It is open source and free to use.
Based on the project's public README and repository metadata.