Releases: xRiskLab/fastwoe
Releases · xRiskLab/fastwoe
Release v0.1.3.post1: Enhanced Statistical Analysis & Developer Experience
Enhanced Statistical Analysis & Developer Experience
- IV Standard Errors: Add confidence intervals and significance testing for Information Value calculations
- Series Input Support: Fix 'Series' object has no attribute 'columns' error
- Type Checking Integration: Integrate pyrefly type checking with CI workflows
- FAISS GPU Support: Add fastwoe[faiss-gpu] optional dependency and improve dependency management
- Improved UX: Change default warn_on_numerical=False (numerical binning is now core feature)
- Local Testing: Add act integration for local GitHub Actions testing
- Enhanced Documentation: Comprehensive guides and examples with improved mathematical framework
- Development Automation: Add Make commands for streamlined workflows
Release v0.1.2.post4
Release v0.1.2.post3
v0.1.2
Version 0.1.2
- Improved:
- Added decision tree-based binning (
DecisionTreeClassifier) for numerical features - Implemented fast Somers' D in numba for non-binary target variables (e.g., loss rates)
- Fastest Somers' D implementation in Python (3x faster than scipy)
- Produces both
D_Y|XandD_X|Yscores
- Added decision tree-based binning (
v0.1.1post4
v0.1.1.post4
Fixed:
- sklearn Compatibility: Simplified sklearn compatibility by always using
quantile_method="averaged_inverted_cdf"parameter since FastWoe requiresscikit-learn>=1.3.0where this parameter is always supported.
Technical Details:
- Removed unnecessary sklearn version detection code
- Always applies
quantile_method="averaged_inverted_cdf"for consistent binning behavior - Maintains
scikit-learn>=1.3.0requirement
Notes:
- All changes from v0.1.1.post1, v0.1.1.post2, and v0.1.1.post3 are included
- This release supersedes all previous post releases
v0.1.1post3
v0.1.1.post3
Fixed:
- sklearn Version Compatibility: Resolved
TypeErrorwithKBinsDiscretizerfor users with sklearn versions < 1.3.0. Thequantile_methodparameter is now only used when supported by the installed sklearn version, with graceful fallback for older versions. - API Consistency:
predict_ci()method now returns a numpy array with shape(n_samples, 2)containing[ci_lower, ci_upper]instead of a DataFrame, making it consistent withpredict_proba()which returns(n_samples, 2)for[prob_class_0, prob_class_1]. - Enhanced Input Support: All prediction methods (
predict(),predict_proba(),predict_ci()) now accept numpy arrays as input, automatically converting them to pandas DataFrames with warnings for consistency.
Technical Details:
- Added sklearn version detection to conditionally use
quantile_method="averaged_inverted_cdf"parameter - Updated
WeightOfEvidence.predict_ci()in interpret module to match new API - Comprehensive test coverage for sklearn version compatibility
Notes:
- All changes from v0.1.1.post1 and v0.1.1.post2 are included in this release
- This release supersedes v0.1.1.post1 and v0.1.1.post2
- Breaking change:
predict_ci()now returns numpy array instead of DataFrame
v0.1.1post2
v0.1.1.post2
- Fixed:
- NumPy array input handling:
FastWoe.fitand related methods now accept NumPy arrays as input, automatically converting them to pandas DataFrames/Series with a warning. This preventsAttributeErrorand improves user experience.
- NumPy array input handling:
- Notes:
- All changes from
0.1.1.post1are included in this release. - This release supersedes
0.1.1.post1.
- All changes from
v0.1.1.post1
- Bug Fixes:
- Fixed issues with pandas/numpy data type conversions
- Improved handling of rare categories in WOE calculations
- Better error messages for edge cases
v0.1.1
🚀 Release v0.1.1
✨ New Features
- WeightOfEvidence Interpretability Module - Complete explanation framework for FastWoe classifiers
- Auto-Inference Capabilities - Automatically detect feature names, class names, and training data
- Confidence Intervals - Uncertainty quantification for WOE scores and predictions
- Enhanced API - Dual usage patterns with
explain(sample)andexplain(dataset, index)
📊 Technical Improvements
- 95 comprehensive tests with 92% code coverage
- Enhanced FastWoe core with confidence interval support
- Comprehensive documentation and working examples
- Cross-compatibility testing
📦 Changes
- 14 files changed: 4,109 insertions, 380 deletions
- 3 new major files: interpretability module, tests, and examples
- Updated dependencies and build configuration
v0.1.0 - Initial Beta Release
FastWoe v0.1.0 - Initial Beta Release
Fast Weight of Evidence (WOE) encoding and inference
✨ Features
- Core WOE Implementation: Fast encoding using scikit-learn's TargetEncoder
- Statistical Rigor: MLE-based standard errors and confidence intervals
- High-Cardinality Support: WoePreprocessor for handling many categories
- Cross-Version Compatibility: Python 3.9-3.12, sklearn 1.3.0+
- Complete Documentation: Mathematical background and examples
📋 Requirements
- Python 3.9+
- scikit-learn 1.3.0+
- pandas, numpy, scipy
🚀 Installation
pip install git+https://github.com/xRiskLab/fastwoe.git@v0.1.0Note
This is a beta release. The API may change before v1.0.0.