Releases: MAIF/shapash
v2.7.4
What's Changed
-
Fix for Feature Importance Local Plot Failure After Global Plot
Resolved an issue where plotting the feature importance local plot after the global plot resulted in errors due to missing value computations. This fix ensures seamless transitions between global and local plots, improving plot stability and usability.
Contributed by @guillaume-vignal in #605 -
Dynamic Title Height Adjustment for Feature Importance Plot
Introduced a new feature that dynamically adjusts the title position based on figure height to prevent overlap with plot content. This update provides improved readability and layout flexibility, especially for custom plot dimensions.
Contributed by @guillaume-vignal in #607
Full Changelog: View the changes for v2.7.3...v2.7.4
v2.7.3 - Bug Fix Release
What's Changed
This release brings important fixes to enhance both the visualization capabilities and the stability of the Shapash package.
-
Plot Title Overlap Fix: We have resolved an issue where the plot titles were incorrectly positioned, leading to overlaps with the graph when users specified different figure heights.
-
Fix for Shortened Label Duplication: In cases where long feature names were programmatically shortened for better visualization, duplicate labels could lead to missing lines in the correlation matrix.
-
Restoration of Missing Files in Shapash Package: Several important files such as
*.ipynb
,*.html
, and*.j2
were missing in previous package versions, causing issues and preventing the generation of reports. These files are now properly included, restoring full functionality to the package.
Contributors
Full Changelog: v2.7.2...v2.7.3
v2.7.2 - Bug Fix Release
What's Changed
This release focuses on bug fixes to improve stability and functionality:
- 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
- Fix pyproject.toml by @tbloron in #592
- This fix resolves an issue where the
shapash
module was not importable after installation, resulting in aModuleNotFoundError
. The problem was traced back to thepyproject.toml
configuration 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
shapash
from 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 shapash
Full Changelog:
v2.7.0
What's Changed
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 theSmartPlotter
class 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 theruff
linter and code formatter into the project. This also includes updates to the GitHub workflow and the addition of apyproject.toml
configuration 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
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