Features
- Semi-online inductive conformal classifiers, regressors and predictive systems, which iteratively update the calibration set after making each prediction, have been incorporated. For `WrapClassifier`, the methods `predict_p`, `predict_set` and `evaluate`, now include the argument `online` together with the argument `warm_start`, where the former enables online calibration (disabled by default) and the latter enables extending the original calibration set during online calibration (enabled by default). Similarly, for `WrapRegressor`, the methods `predict_p`, `predict_int`, `predict_percentiles`, `predict_cpds` and `evaluate` include the arguments `online` and `warm_start`. Semi-online conformal predictors are also enabled by the methods `predict_p_online` (for `ConformalClassifier`, `ConformalRegressor`, and `ConformalPredictiveSystem`), `predict_set_online` (for `ConformalClassifier`), `predict_int_online` (for `ConformalRegressor` and `ConformalPredictiveSystem`), `predict_percentiles_online` and `predict_cpds_online` (for `ConformalPredictiveSystem`). Moreover, the `evaluate` method for all three types of conformal predictor now includes an additional argument `online`, which if set to true enables online calibration.
- The method `predict_p` for generating (smoothed or non-smoothed) p-values using conformal regressors has been added.
- New methods for conformal predictive systems have been added; `predict_p` for obtaining p-values, `predict_int` for obtaining prediction intervals, `predict_percentiles` for obtaining percentiles, and `predict_cpds` for obtaining conformal predictive distributions. These outputs can alternatively (as before) be generated by the methods `predict` (for `ConformalPredictiveSystem`) and `predict_cps` (for `WrapRegressor`).
- Both smoothed and non-smoothed p-values may now be output for conformal predictive systems; smoothing is the default but can be disabled by setting `smoothing=False` for the methods `predict_p` and `predict`.
- The `evaluate` method of `ConformalClassifier`, `ConformalRegressor`, and `ConformalPredictiveSystem`, as well as of `WrapClassifier` and `WrapRegressor`, now includes the metric `ks_test`, which provides the p-value for the Kolmogorov-Smirnov test of uniformity of predicted p-values. Thanks to egonmedhatten for the suggestion!
Fixes
- Fitted objects now contain the attribute `fitted_` to allow for proper handling in scikit-learn pipelines. Thanks to lukethomrichardson for suggesting the fix.