๐ฆ Changelog - RegressionMadeSimple
View the project on GitHub
Version 3.0.0 (Released: January 2026)
โจ New Features
- Model Registry Pattern: Access models via
rms.models.Linear, rms.models.Quadratic, rms.models.Cubic, and rms.models.CustomCurve
- Enhanced Base Class: Completely refactored base class with common functionality for all models
- Model Serialization: Save and load trained models with
save_model() and load_model() methods using joblib
- Additional Scoring Metrics: New methods including
r2_score(), mae(), and rmse() for comprehensive model evaluation
- Class-based Model Specification: New recommended API using model classes instead of strings (e.g.,
model=rms.models.Linear)
๐ง Improvements
- Code Reduction: Eliminated ~60% of duplicate code across model classes through shared base functionality
- Better Architecture: Centralized common train/test split logic, plotting, and metric computation in BaseModel
- Type Hints: Added comprehensive type hints throughout the codebase for better IDE support
- Improved Documentation: Comprehensive README with migration guide and advanced examples
- Better Organization: Models now live in dedicated
models/ submodule for cleaner structure
๐ API Changes
- New Recommended API: Use class-based model specification:
model=rms.models.Linear instead of model='linear'
- Backward Compatible: Old string-based API still works but shows deprecation warnings
- Migration Required: String-based model specification will be removed in v4.0.0. See Migration Guide to v3.0.0
Version 2.0.0 (Released: August 2025)
โจ New Features
- Rewrote the whole package. More info please consult the Migration Guide and more notes.
Version 1.4.1 (Released: May 2025)
โจ New Features
- Added plotting compatibility for
Matplotlib
- Added a early Logging class (but did not make any log infos in the actual code (TODO))
๐ง Improvements
- Small code improvements to
ComplexCurves. (Still developing, use at your own risk)
Version 1.4.0 (Released: April 2025)
โจ New Features
- Added support for
ComplexCurves (early dev version)
Version 1.3.0 (Released: April 2025)
โจ New Features
- Added
Quadratic and Cubic regression models with clean, user-friendly APIs
- Introduced
wrapper.py with LinearRegression.fit(...) interface
- Models support both auto and pre-split data with RMS-style constructor args
๐ง Improvements
- Refined package structure for better modularity and clarity
- Updated
__init__.py to expose all new models and wrapper interfaces
- Reinforced
options system to support future model configurations
Version 1.2.0 (Released: April 2025)
โจ New Features
- ๐ง Introduced
rms.options for global configuration using SimpleNamespace
- ๐ง Added support for
.save(), .load(), and .reset() for RMS options
- ๐งช Configurable
Linear constructor: honors rms.options.training + accepts pre-split data
๐ง Improvements
- Internal logic streamlined to use config fallbacks
- Better defaults, simplified structure for future models
- Updated
__init__.py to expose config functions
Version 1.1.1 (Released: March 2025)
โจ New Features
- Added
.summary() method to Linear model
- Support for pre-split data in
Linear constructor via X_train, y_train, X_test, y_test
- Cleaner, more flexible
preworks utilities
๐ง Improvements
- Streamlined logic in
Linear and preworks using real-world usage experience
- Renamed/reorganized function names for clarity
- Improved error handling for
.plot() and .mse() when test data is unavailable