Releases: xRiskLab/woeboost
Releases · xRiskLab/woeboost
Release list
WoeBoost Version 1.2.0
- Parallel by default: features are binned and transformed on a
ThreadPoolExecutorwithout any configuration (n_tasks=1restores sequential processing). - Faster binning: bin statistics are computed in a single pass (
searchsorted+bincount) instead of one mask per bin; fitted bins are unchanged. - Feature binning now also runs in parallel (previously only
transformdid, and only with an explicitexecutor_cls). n_tasks=Noneis resolved at fit/transform time from the number of features instead of in__init__.- Free-threading detection uses
sys._is_gil_enabled(), so it reports the runtime GIL state. - Build backend switched to hatchling (previously no
[build-system]was declared, so builds fell back to legacy setuptools). - Removed
requirements.txt(dependencies are managed inpyproject.toml/uv.lock). - Moved
pydocstylefrom runtime to dev dependencies. - Removed the
freethreadedextra: it only repeated the base dependencies, and free-threaded Python needs no extra packages. - Free-threaded CI now runs the test suite on Python 3.13t with the GIL disabled.
v1.1.0
🚀 WoeBoost v1.1.0
Free-threaded Python Support with 3.67× Speedup
- 3.67× faster training with Python 3.14+freethreaded (real measured performance)
- Zero configuration -
pip install woeboost[freethreaded]and go - Automatic detection - WoeBoost auto-detects free-threading and optimizes threads
- Same results, faster computation - identical convergence, 3.67× speedup
from woeboost import WoeLearner
learner = WoeLearner()
print(f"Free-threading detected: {learner.is_freethreaded}")Installation:
pip install woeboost[freethreaded]Tested on: Python 3.14.0a5+freethreaded
Backward compatible ✅
WoeBoost Version 1.0.2
WoeBoost Version 1.0.2
🔄 Key Changes
- Support for
n_taskswith legacyn_threadsfallback (deprecated in the future). - Updated concurrency support via a callable for (e.g.,
ThreadPoolExecutor). - Type hint improvements.
Full Changelog: v1.0.1...v1.0.2
WoeBoost Version 1.0.1
WoeBoost Version 1.0.0
🔄 Key Changes
- Enhanced formatting for README.md, including new badges and improved layout.
- Updated links to ensure compatibility with GitHub and PyPI views.
- Adjusted figure defaults in feature contributions plots for better rendering in notebooks.
- Added icons to highlight key features.
📚 Documentation Updates
- Improved consistency in linking technical notes and module details and update of formulas.
WoeBoost Version 1.0.0
WoeBoost Version 1.0.0
This is the initial release of WoeBoost, a gradient boosting framework leveraging the concept of Weight of Evidence (WOE).
Key Features
WoeLearner: Supports feature binning, monotonicity constraints, and WOE transformations.WoeBoostClassifier: Boosted WOE-based scoring with early stopping and deciban outputs.- Explainer Tools: Partial Dependence Plots (PDP), evidence analysis, and WOE inference.
Documentation
- Module-specific documentation (
learner.py,classifier.py,explainer.py). - Index file for navigation.
Quality Assurance
- Comprehensive
pytest-based tests. - Pre-commit hooks for style and consistency.
Installation
pip install woeboost