Changelog
All notable changes to binlearn will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]
Added
Comprehensive ReadTheDocs documentation with tutorials and examples
Complete API reference documentation
User guide with best practices and performance tips
Changed
Improved documentation structure and organization
[1.0.0] - 2024-XX-XX
Added
New Binning Methods:
- SingletonBinning - Creates one bin per unique numeric value
- SupervisedBinning - Decision tree-based supervised binning
- EqualFrequencyBinning - Quantile-based equal-frequency binning
- KMeansBinning - K-means clustering-based discretization
- EqualWidthMinimumWeightBinning - Weight-constrained equal-width binning
- ManualIntervalBinning - Custom interval boundary specification
- ManualFlexibleBinning - Mixed interval and singleton bin definitions
Framework Integration: - Full scikit-learn compatibility with transformer interface - Native pandas DataFrame support with column name preservation - Polars DataFrame support (optional dependency) - NumPy array processing with optimized performance
Advanced Features: - Global configuration system for consistent behavior - Comprehensive error handling with helpful messages - Type safety with 100% mypy compliance - Flexible binning with guidance columns support - Custom bin representatives and edge specifications
Development Quality: - 100% test coverage with 841+ comprehensive tests - 100% ruff compliance for code quality - Complete type annotations for better IDE support - Extensive documentation with examples
Tools and Utilities:
- BinningFeatureSelector for feature selection integration
- BinningPipeline for streamlined ML workflows
- make_binning_scorer for custom scoring functions
- Integration utilities for ML workflows
Security
Input validation to prevent malicious data processing
Robust error handling to prevent crashes
Memory-safe operations for large datasets
[0.9.0] - 2024-XX-XX
Added
Initial beta release
Basic equal-width binning functionality
Sklearn compatibility layer
Pandas DataFrame support
Changed
Refactored codebase for better modularity
Improved error messages
Fixed
Memory leaks in large dataset processing
Edge cases with single-value datasets
[0.8.0] - 2024-XX-XX
Added
Prototype supervised binning implementation
Basic configuration management
Initial test suite
[0.7.0] - 2024-XX-XX
Added
Core binning infrastructure
Base classes for extensibility
Initial equal-width implementation
[0.6.0] - 2024-XX-XX
Added
Project initialization
Basic package structure
Development environment setup