Releases: MAIF/shapash
v2.7.2 - Bug Fix Release
What's Changed
- Fixed default color in Local explanation plot: Resolved an issue where the default colors in the local explanation plot were incorrect.
- Improved pagination for large feature sets: Addressed a bug where pagination would not work properly.
- Restored Shapash icon in the webapp: Replaced the unintended dash icon with the correct Shapash icon in the web application.
- Removed unnecessary dataframe print in
plot_scatter_prediction.py: Eliminated unintended dataframe printing, which improves clarity in scatter plot generation.
Contributed by @guillaume-vignal in #597.
Full Changelog: v2.7.1...v2.7.2
v2.7.1 - Bug Fix Release
What's Changed
- Packaging Fix: Resolved a critical issue in
pyproject.tomlthat causedshapashto fail importing after installation. The module now installs and loads correctly in all environments, including Conda and Python 3.10 setups.
- Fix pyproject.toml by @tbloron in #592
- This fix resolves an issue where the
shapashmodule was not importable after installation, resulting in aModuleNotFoundError. The problem was traced back to thepyproject.tomlconfiguration file, which has now been corrected. The fix ensures that Shapash installs and imports correctly in all environments.
- This fix resolves an issue where the
Bug Fix Details:
- Users installing version 2.7.0 encountered a packaging issue that prevented
shapashfrom being properly imported in Python environments, including Conda environments using Python 3.10. This version addresses that issue, making the module accessible after installation.
Installation Instructions:
To upgrade to the latest version, run:
pip install --upgrade shapashFull Changelog:
v2.7.0
What's Changed
- Feature Importance Pagination: Navigate through feature importance results across multiple pages, enabling deeper exploration of models with many features.
- Subpopulation-based Feature Importance Plots: New visualizations to analyze feature importance divergence across subpopulations and track importance variation across the dataset.
- SmartPlotter Refactoring: Modularized plotting system for easier maintenance and future feature additions.
- Flask Constraint Removal: Shapash now supports the latest Flask versions, improving compatibility and performance.
Documentation Updates
- Update Figures in Documentation by @guillaume-vignal (#568)
Updated the figures in the documentation to reflect changes introduced in version 2.6.0. Some unnecessary files were also removed.
New Features
-
Feature Importance Pagination by @guillaume-vignal (#574)
Introduced pagination for the feature importance plot, allowing users to navigate through all features. This is especially useful for models with a large number of features, as users can now explore feature contributions beyond the top few with improved usability and dynamic page handling. -
Subpopulation-based Feature Importance Plots by @guillaume-vignal (#579)
Added two new plots:- Local Importance Divergence Metric: Highlights features with varying importance across different subpopulations.
- Feature Importance Curve Plot: Displays how feature importance fluctuates across the dataset, offering more granular insights.
Enhancements
-
SmartPlotter Refactoring by @guillaume-vignal (#582)
Simplified theSmartPlotterclass by decoupling each plot type into its own function file. This improves modularity, making the code more maintainable and testable. Future plots can now be easily added without altering the core structure. -
Removed Flask Version Constraint by @guillaume-vignal (#584)
Lifted the Flask version constraint (<2.3.0) as the compatibility issue with Dash has been resolved. Shapash now supports the latest versions of Flask, enhancing security, compatibility, and performance. -
Dataset Sorting by @sam94700 (#575)
Added the ability to sort datasets by features, improving data management.
Bug Fixes
-
Contribution Plot for Boolean Features by @sam94700 (#586)
Fixed a bug affecting the contribution plot for boolean features, ensuring accurate visualizations. -
DataFrame Transformation Warning Fix by @guillaume-vignal (#589)
Refactored DataFrame column transformations to avoid future warnings from pandas regarding in-place modifications.
Development Tools
- Add Ruff Linter and Formatter by @tbloron (#585)
Integrated therufflinter and code formatter into the project. This also includes updates to the GitHub workflow and the addition of apyproject.tomlconfiguration file.
New Contributors
Full Changelog: v2.6.0...v2.7.0
v2.6.0 Improvements of the shapash report, the contribution and interaction plots,
What's Changed
- Contribution Plot Improvement: Enhanced the contribution plot to provide more insightful visualizations.
- Shapash Report Enhancement: Upgraded the Shapash report with new functionalities and optimizations.
Added
- Feature/contribution plot improvement by @guillaume-vignal in #553
- Feature/shapash report improvement by @guillaume-vignal in #564
Fixed
- Fix color style. by @MLecardonnel in #561
- fix documentation generation bug due to numpy 2.0 by @guillaume-vignal in #566
- Fix interaction plot bug on labels by @guillaume-vignal in #563
Full Changelog: v2.5.1...v2.6.0
v2.5.1
What's Changed
- Temporary Fix for NumPy 2.0 Incompatibility by @guillaume-vignal in #559
Full Changelog: v2.5.0...v2.5.1
v2.5.0: ⬆️ Support for Python 3.12
What's Changed
- Dropped support for Python 3.8.
- Now requires Scikit-learn >= 1.4.0, pandas >= 2.1.0, and shap >= 0.45.0.
- Added support for Python 3.12.
- Optimized compile step to compute predictions and probabilities directly.
- Fixed multiple issues in the report demo.
Breaking changes
- Dropped support for 3.8 in @MLecardonnel in #538
- Support only Scikit learn>=1.4.0 by @MLecardonnel in #543
- Support only pandas>=2.1.0 by @guillaume-vignal in #551
- Support only shap>=0.45.0 by @guillaume-vignal in #552
Added
- Feature python 3.12 support by @MLecardonnel in #538
- Optimization: compute predictions and probabilities directly in the compile step by @guillaume-vignal in #535, #544
Fixed
Full Changelog: v2.4.3...v2.5.0
v2.4.3
What's Changed
- remove code for category_encoder<=2.2.2 by @guillaume-vignal in #530
- Hotfix shap 0.45.0 by @guillaume-vignal in #534
- last release for: python 3.8, shap<0.45.0, scikit-learn<1.4
Full Changelog: v2.4.2...v2.4.3
v2.4.2
What's Changed
- Feature/code quality by @guerinclement in #521
- Bump dash from 1.9.1 to 2.15.0 by @dependabot in #526
- Feature/lint by @guerinclement in #522
New Contributors
- @guerinclement made their first contribution in #521
Full Changelog: v2.4.1...v2.4.2
v2.4.1: Hotfix bug fo TreeExplainer selection
Fix #514 BUG: with version 2.4.0 TreeExplainer is never used
v2.4.0: ⬆️ Support for Python 3.11
- Shapash support Python 3.11
- Shapash can compute Shapeley values through Shap for any model supported by Shap
Features:
- Support for Python 3.11 #512
- Be able to use Shapash to compute Shapeley values through Shap for any model supported by Shap #506
Breaking change:
- Removes ACV from shapash and fixes dependencies #482
Fixes: