Skip to content

Releases: xRiskLab/fastwoe

Release v0.1.3.post1: Enhanced Statistical Analysis & Developer Experience

23 Sep 13:30

Choose a tag to compare

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

15 Sep 14:08

Choose a tag to compare

Changes

Installation

pip install fastwoe==v0.1.2.post4

Release v0.1.2.post3

14 Sep 21:10

Choose a tag to compare

Changes

Installation

pip install fastwoe==v0.1.2.post3

v0.1.2

14 Sep 20:14

Choose a tag to compare

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|X and D_X|Y scores

v0.1.1post4

28 Jun 10:03

Choose a tag to compare

v0.1.1.post4

Fixed:

  • sklearn Compatibility: Simplified sklearn compatibility by always using quantile_method="averaged_inverted_cdf" parameter since FastWoe requires scikit-learn>=1.3.0 where 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.0 requirement

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

28 Jun 09:46

Choose a tag to compare

v0.1.1.post3

Fixed:

  • sklearn Version Compatibility: Resolved TypeError with KBinsDiscretizer for users with sklearn versions < 1.3.0. The quantile_method parameter 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 with predict_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

14 Jun 19:11

Choose a tag to compare

v0.1.1.post2

  • Fixed:
    • NumPy array input handling: FastWoe.fit and related methods now accept NumPy arrays as input, automatically converting them to pandas DataFrames/Series with a warning. This prevents AttributeError and improves user experience.
  • Notes:
    • All changes from 0.1.1.post1 are included in this release.
    • This release supersedes 0.1.1.post1.

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

11 Jun 14:02

Choose a tag to compare

🚀 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) and explain(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

07 Jun 20:29

Choose a tag to compare

Pre-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.0

Note

This is a beta release. The API may change before v1.0.0.