What's Changed
Documentation Updates
- **Update Figures in Documentation** by [guillaume-vignal](https://github.com/guillaume-vignal) ([#568](https://github.com/MAIF/shapash/pull/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](https://github.com/guillaume-vignal) ([#574](https://github.com/MAIF/shapash/pull/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](https://github.com/guillaume-vignal) ([#579](https://github.com/MAIF/shapash/pull/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](https://github.com/guillaume-vignal) ([#582](https://github.com/MAIF/shapash/pull/582))
Simplified the `SmartPlotter` 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](https://github.com/guillaume-vignal) ([#584](https://github.com/MAIF/shapash/pull/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](https://github.com/sam94700) ([#575](https://github.com/MAIF/shapash/pull/575))
Added the ability to sort datasets by features, improving data management.
Bug Fixes
- **Contribution Plot for Boolean Features** by [sam94700](https://github.com/sam94700) ([#586](https://github.com/MAIF/shapash/pull/586))
Fixed a bug affecting the contribution plot for boolean features, ensuring accurate visualizations.
- **DataFrame Transformation Warning Fix** by [guillaume-vignal](https://github.com/guillaume-vignal) ([#589](https://github.com/MAIF/shapash/pull/589))
Refactored DataFrame column transformations to avoid future warnings from pandas regarding in-place modifications.
Development Tools
- **Add Ruff Linter and Formatter** by [tbloron](https://github.com/tbloron) ([#585](https://github.com/MAIF/shapash/pull/585))
Integrated the `ruff` linter and code formatter into the project. This also includes updates to the GitHub workflow and the addition of a `pyproject.toml` configuration file.
New Contributors
- **[sam94700](https://github.com/sam94700)** made their first contribution in [#575](https://github.com/MAIF/shapash/pull/575)
- **[tbloron](https://github.com/tbloron)** made their first contribution in [#585](https://github.com/MAIF/shapash/pull/585)
**Full Changelog**: [v2.6.0...v2.7.0](https://github.com/MAIF/shapash/compare/v2.6.0...v2.7.0)