Skip to content

Latest commit

 

History

History
251 lines (184 loc) · 8.68 KB

RELEASE_NOTES.rst

File metadata and controls

251 lines (184 loc) · 8.68 KB

Release Notes

FACET 2.1

FACET 2.1 introduces the :class:`.NativeLearnerInspector` for inspecting native scikit-learn models and pipelines.

We still recommend using :mod:`sklearndf` models and learner pipelines along with FACET's :class:`.LearnerSelector` for hyperparameter tuning; however the new :class:`.NativeLearnerInspector` can be useful for inspecting models that have been trained using scikit-learn directly.

2.1.1

This is a maintenance release to catch up with FACET 2.0.1.

2.1.0

  • API: new :class:`.NativeLearnerInspector` class for inspecting native scikit-learn regressors, classifiers, and pipelines with a regressor or classifier as the final estimator

FACET 2.0

FACET 2.0 brings numerous API enhancements and improvements, accelerates model inspection by up to a factor of 50 in many practical applications, introduces a new, more flexible and user-friendly API for hyperparameter tuning – with support for scikit-learn's native hyperparameter searchers – and improves the styling of all visualizations.

FACET 2.0 requires :mod:`pytools` 2.0 and :mod:`sklearndf` 2.2, and is now fully type-checked by |mypy|.

2.0.1

2.0.0

facet.data

facet.explanation

facet.inspection

facet.selection

facet.simulation

  • API: simulations no longer depend on learner crossfits and instead are carried out as a single pass on the full dataset, using the standard error of mean predictions to obtain confidence intervals that less conservative yet more realistic
  • VIZ: minor tweaks to simulation plots and reports generated by :class:`.SimulationDrawer`

facet.validation

  • API: removed class FullSampleValidator

Other

FACET 1.2

FACET 1.2 adds support for sklearndf 1.2 and scikit-learn 0.24. It also introduces the ability to run simulations on a subsample of the data used to fit the underlying crossfit. One example where this can be useful is to use only a recent period of a time series as the baseline of a simulation.

1.2.3

  • BUILD: pin down matplotlib version to < 3.6 and scipy version to < 1.9 to ensure compatibility with pytools 1.2 and sklearndf 1.2

1.2.2

  • catch up with FACET 1.1.2

1.2.1

1.2.0

  • BUILD: added support for sklearndf 1.2 and scikit-learn 0.24
  • API: new optional parameter subsample in method :meth:`.BaseUnivariateSimulator.simulate_feature` can be used to specify a subsample to be used in the simulation (but simulating using a crossfit based on the full sample)

FACET 1.1

FACET 1.1 refines and enhances the association/synergy/redundancy calculations provided by the :class:`.LearnerInspector`.

1.1.2

  • DOC: use a downloadable dataset in the getting started notebook
  • FIX: import catboost if present, else create a local module mockup
  • FIX: correctly identify if sample_weights is undefined when re-fitting a model on the full dataset in a LearnerCrossfit
  • BUILD: relax package dependencies to support any numpy version 1.`x` from 1.16

1.1.1

  • DOC: add reference to FACET research paper on the project landing page
  • FIX: correctly count positive class frequency in UnivariateProbabilitySimulator

1.1.0

  • API: SHAP interaction vectors can (in part) also be influenced by redundancy among features. This can inflate quantifications of synergy, especially in cases where two variables are highly redundant. FACET now corrects interaction vectors for redundancy prior to calculating synergy. Technically we ensure that each interaction vector is orthogonal w.r.t the main effect vectors of both associated features.
  • API: FACET now calculates synergy, redundancy, and association separately for each model in a crossfit, then returns the mean of all resulting matrices. This leads to a slight increase in accuracy, and also allows us to calculate the standard deviation across matrices as an indication of confidence for each calculated value.
  • API: Method :meth:`.LearnerInspector.shap_plot_data` now returns SHAP values for the positive class of binary classifiers.
  • API: Increase efficiency of ModelSelector parallelization by adopting the new :class:`pytools.parallelization.JobRunner` API provided by :mod:`pytools`
  • BUILD: add support for :mod:`shap` 0.38 and 0.39

FACET 1.0

1.0.3

  • FIX: restrict package requirements to gamma-pytools 1.0 and sklearndf 1.0, since FACET 1.0 is not compatible with gamma-pytools 1.1

1.0.2

This is a maintenance release focusing on enhancements to the CI/CD pipeline and bug fixes.

1.0.1

Initial release.