github MAIF/shapash v2.10.0

5 hours ago

What's Changed

New features

  • Completely redesigned Smart Report system, with a new modular block-based architecture, default classification and regression reports, configurable report layouts, YAML configuration export, improved responsive rendering, new report components and better multiclass explainability/navigation. #750 #793 by @dalestee @guerinclement and @guillaume-vignal

  • New contribution-weighted correlation plot to analyze relationships between feature contributions rather than only correlations between raw input features. Rows where one of the features has a strong contribution receive more weight in the correlation computation. #754 by @guillaume-vignal

  • Major improvements to interaction plots, including multiclass support, improved sampling and display ordering, adaptive color scales, density/volumetry information, better handling of categorical-like numerical variables and closer visual consistency with contribution_plot. #758 by @guillaume-vignal

  • Add waterfall visualization to local_plot, including baseline / SHAP base_values support, configurable x-axis behavior, improved tooltips and compatibility with LIME explanations. #760 by @guillaume-vignal

  • Add Lift Curve visualization to model evaluation plots and integrate it with Shapash styling. #736 by @guillaume-vignal

SmartPredictor and production usage

  • Strengthen SmartPredictor for production use: improve input validation and support pandas extension/nullable dtypes; add a save/load manifest containing Shapash, Python, model-framework and schema information; add structured prediction logging; and introduce lightweight schema-drift detection with configurable warnings. #711 #722 #742 #756 by @immu4989

Explainer architecture

  • Refactor SmartExplainer into a lighter public facade, moving computation and state management into the dedicated Explainer class and reducing duplicated logic. Follow-up fixes remove redundant helpers and correct dependencies introduced by the refactor. #746 #774 #789 by @guillaume-vignal and @guerinclement

Package and dependency support

  • Simplify report dependencies following the Smart Report refactor, removing Jinja2, jupyter-client, nbconvert, notebook, papermill and pyarrow; the new report implementation now relies on panel. #750 by @guerinclement

  • Improve pandas 3 compatibility, particularly around the new string dtype behavior, and update the corresponding documentation. #713 #716 by @guerinclement and @guillaume-vignal

  • Upgrade the WebApp to Dash >= 3.0.0. #710 by @milton-minervino

  • Update dependency compatibility, including category_encoders 2.10+, newer scikit-learn versions and removal of the Plotly upper bound; fix rendering regressions introduced by newer Plotly versions. #740 #748 #770 #771 by @meubleancien and @milton-minervino

  • Temporarily cap pandas to avoid an upstream segmentation-fault issue. #732 by @milton-minervino

  • Update package license metadata to the SPDX Apache-2.0 format. #783 by @guillaume-vignal

  • Derive shapash.__version__ from package metadata instead of maintaining a hard-coded version. #799 by @milton-minervino

Bug fixes

  • Fix WebApp filtering with missing values. #719 by @milton-minervino

  • Fix threshold slider and clustering display issues in the WebApp. #723 by @milton-minervino

  • Improve confusion matrices, with a color scale better suited to imbalanced datasets and correct handling of integer class labels as discrete classes. #738 #739 by @ZakariaRida96

  • Fix LIME multiclass contribution computation and subset handling. #726 by @guillaume-vignal

  • Prevent Explainer.filter() state from leaking into subsequent plots or to_pandas() calls. #764 by @milton-minervino

  • Honour the force parameter in compute_features_import. #762 by @VenishPaneliya

  • Make run_app().kill() correctly stop the WebApp server. #737 by @milton-minervino

  • Keep the regression True-vs-Predicted reference line on the actual y = x diagonal after zoom or axis reset. #778 by @milton-minervino

  • Improve stability explanations, fixing nearest-neighbor computation on small datasets and preserving neighbor ordering in explanations. #791 #794 by @aminemanai2003

  • Add generic fallback fonts to plot font families for more reliable rendering across systems. #780 by @milton-minervino

Testing, typing and code quality

Documentation and examples

Maintenance

New Contributors

Full Changelog: v2.9.0...v2.10.0

Don't miss a new shapash release

NewReleases is sending notifications on new releases.