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 budget parameter, 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.

Add this badge to your README

Featured on YunoDB Badge styles & help

Maintain this project? Show that it is featured on YunoDB.

Markdown[![Featured on YunoDB](https://yunodb.com/badge/perpetual-mlperpetual.svg)](https://yunodb.com/tools/perpetual-mlperpetual?utm_source=github&utm_medium=badge)
HTML<a href="https://yunodb.com/tools/perpetual-mlperpetual?utm_source=github&utm_medium=badge"><img src="https://yunodb.com/badge/perpetual-mlperpetual.svg" alt="Featured on YunoDB" height="20"></a>