What’s new#

See the latest revision: Version 0.3.1.

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.3.2.dev0)#

  • 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).

  • 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 Added an AGENTS.md file for AI agents, and AI disclosures to contribution guidelines (#655 by Marc Hulcelle).

  • Maint added 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 Fixed 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).

  • Doc example gallery reorganization: added basic “How to get started” examples (#684 by Marc Hulcelle).

  • Fix fixed 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).

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:#