What’s new#

See the latest revision: Version 0.4.0.

Each entry is tagged with one of the following categories:

  • Feature — new functionality

  • Fix — bug fixes

  • Doc — documentation, examples

  • API — API changes, deprecations

  • Maint — CI, testing, maintenance, dependencies

under development (0.4.1.dev)#

Version 0.4.0#

Highlights#

  • New importance methods and visualizatino: Shapley Additive Global Importance (SAGE), Leave-One-Covariate-In (LOCI), and Accumulated Local Effects (ALE).

  • Many feature improvements: refined current implementations, better unification of API.

  • Documentation improvement: fixed missing docs, docstrings, faulty ones.

Changes#

  • Maint Update version in doc’s dropdown menu to 0.3.1 (stable) and clean changelog (#637 by Joseph Paillard).

  • Fix Fix bug in the KO methods: threshold_mesh was computed but not assigned to the variable (#643 by Bertrand Thirion amd Joseph Paillard).

  • Maint Add badges and functional links to the changelog (#644 by Joseph Paillard).

  • Maint Remove extra term in variance of X-residuals (#649 by Joseph Paillard).

  • Doc Add documentation on how to contribute with issues, pull-requests, explanation of the CI process, and dev guidelines on class templates and folder architecture. (#653 by Marc Hulcelle).

  • Doc Add naming conventions for classes, files, and functions, as well as citation conventions (#647 and #648 by Marc Hulcelle).

  • Fix Fix typo in issue template (#659 by Joseph Paillard).

  • Doc Add an AGENTS.md file for AI agents, and AI disclosures to contribution guidelines (#655 by Marc Hulcelle).

  • Maint Add a maintenance-related issue template (#666 by Marc Hulcelle).

  • Maint Temporary fix for the CI upper-bounding scikit-learn to 1.9.0 (#669 by Joseph Paillard).

  • Fix Fix unnecessary copy operations of X when only a slice view is needed (#646 by Marc Hulcelle).

  • Maint Remove pinned poosh dependency (problem with somato dataset solved) (#670 by Joseph Paillard).

  • Maint Remove extra term in variance of X-residual (DOCRT). See [Reid et al., A Study of Error Variance Estimation in Lasso Regression 2016](https://arxiv.org/pdf/1311.5274) for reference. (#649 by Joseph Paillard).

  • Feature Add leave-one-covariate-in (LOCI) method (#679 by Marc Hulcelle).

  • Fix Fix deprecated n_alphas with sklearn LassoCV, as well as deprecated penalty for LogisticRegressionCV (#690 by Marc Hulcelle).

  • Maint Fix conditional sampling test by verifying that sampler produces diverse samples. (#692 by Joseph Paillard).

  • Feature Implement marginal SAGE (#674 by Joseph Paillard).

  • Feature Parallelize importance in EnCluDL (#710 by Marc Hulcelle).

  • Feature Implement generic ClusterImportance and EnsembleImportance (#714 by Marc Hulcelle).

  • Doc Fix shape inconsistencies in docstring for importance and selection arrays (#711 by Marc Hulcelle).

  • Doc Add documentation about test suite organization and general logic. (#712 by Marc Hulcelle).

  • API Column names are properly handled when a pandas DataFrame is given as input, grouping can be done on column names (#721 by Marc Hulcelle).

  • Doc Add section on SAGE in the user guide (#736 by Joseph Paillard).

  • Doc Missing classes from API autosummary (#734 by Marc Hulcelle).

  • Feature Implement Accumulated Local Effects (ALE) (#701 by Aurélien Bazire).

  • Feature Add bootstrap for ALE confidence intervals (#703 by Aurélien Bazire).

  • Fix Allowed unfitted estimators for CFI (estimator is then fitted before CFI) (#750 by Joseph Paillard).

  • Maint Fixed CI security issues by switching to ‘pull_request’ (#735 by Marc Hulcelle).

  • Doc Fixed math formatting in total sobol index section (#746 by Joseph Paillard).

Contributors:#

Version 0.3.1#

Highlights#

  • Expanded user guide with new sections on Desparsified Lasso, Knockoffs, Permutation Feature Importance, D0CRT, and high-dimensional inference

  • Improved scikit-learn compatibility for some estimators (DesparsifiedLasso, ModelXKnockoff, PFI, BasePerturbation)

  • Updated dependencies following SPEC 0

Changes#

  • Feature — can now be initialized with unfitted estimators. When this the case, the estimator will first be fitted before variable importance is estimated. (#571)

  • Doc — add Distilled Conditional Randomization Test (D0CRT) section in the user-guide (#621)

  • Doc — add example with MEG somato data (#607)

  • Doc — add Permutation Feature Importance section in user-guide (#553)

  • Doc — add Desparsified Lasso (DL) and Knockoffs section in user-guide (#558)

  • Doc — add DL example on the diabetes dataset (#564)

  • Fix — Fixed a bug in CLuster DL (CLuDL) / Ensemble CLuDL: cloning the internal estimators to avoid them carrying unwanted history. (#425)

  • Fix — Fix sign in D0CRT-logit (#627)

  • Fix — Test: relax flaky test for conditional sampling (#602)

  • Fix — Fix sklearn compatibility of BasePerturbation (#576)

  • Fix — Fix README pip installation instructions (#579)

  • Fix — Fix DL user-guide image not showing (#566)

  • Maint — Fixed a bug in CLuDL/EncluDL: cloning the internal estimators to avoid them carrying unwanted history. (#425)

  • Maint — Fix the unexpected change in the order of feature groups when a dataframe is used as input (#632)

  • Maint — Update pandas intersphinx mapping (#615)

  • Maint — scikit-learn compatibility: run check_estimator on Permutation Feature Importance (PFI) and PFICV (#610)

  • Maint — scikit-learn compatibility: run check_estimator on ModelXKnockoff (#608)

  • Maint — scikit-learn compatibility: improve BasePerturbationCV (#581)

  • Maint — scikit-learn compatibility: run check_estimator on DesparsifiedLasso (#590)

  • Maint — CI: update python version (#606)

  • Maint — Fix inconsistent attribute names in ModelXKnockoff (#600)

  • Maint — update pre-commit hooks (#597)

  • Maint — silence or solve unused arguments errors (#596)

  • Maint — Fix docstring in scenario.py (#594)

  • Maint — Test: set random generator as a test fixture (#593)

  • Maint — Fix pandas and perf errors (#592)

  • Maint — Fix ruff bugbear issues (#591)

  • Maint — Fix simplify ruff errors (#589)

  • Maint — Fix ruff linting errors (#582)

  • Maint — Adopt and apply ruff linter (#573)

  • Maint — Doc: silence some warnings (#588)

  • Maint — Doc: fix CI bug (#586)

  • Maint — Doc: fix notation inconsistencies (#552)

  • Maint — Run tests on oldest and most recent supported Python (#577)

  • Maint — Fix test timeout in minimal version tests (#569)

  • Maint — Skip unnecessary Ubuntu install in CI (#580)

  • Maint — Fix documentation release CI (#556, #559)

  • Maint — Update pooch version constraint (#614)

  • Maint — Bump GitHub Actions dependencies (#565, #612)

  • Maint — Bump codecov-action (#619, #623)

  • Maint — Add missing entries to the changelog (#630)

  • Maint — Update dependencies following SPEC 0 (#527)

Contributors:#

Version 0.3.0#

Warning

Major change in the API, that settles for using .fit(), .importance(), .fdr_selection() and .fwer_selection()

Highlights#

  • New API

  • New User Guide

  • More examples

Changes#

  • API LOC0, CFI, CPI (#372)

  • API Desparsified Lasso: (#381)

  • API CluDL, EnCluDL (#533 and #388)

  • API ModelXKnockoffs (#367)

  • API d0CRT (#220)

Contributors:#