- The function
margin
for computing non-conformity scores for conformal classifiers has been added tocrepes.extras
.
-
Fixed a bug in the
DifficultyEstimator
class (increpes.extras
), which caused an error when trying to display a non-fitted object. Thanks to @tuvelofstrom for pointing this out. -
Fixed an error in the documentation for the function
hinge
. -
The Jupyter notebooks
crepes_nb_wrap.ipynb
andcrepes_nb.ipynb
have been updated to illustrate the newmargin
function.
-
The classes
ConformalClassifier
andWrapClassifier
have been added tocrepes
, allowing for generation of standard and Mondrian conformal classifiers, which produce p-values and prediction sets. Thecalibrate
method ofWrapClassifier
allows for easily generating class-conditional conformal classifiers and using out-of-bag calibration. See the documentation for the interface to objects of the class through thecalibrate
,predict_p
andpredict_set
methods, in addition to thefit
,predict
andpredict_proba
methods of the wrapped learner. The methodevaluate
allows for evaluating the predictive performance using a set of standard metrics. -
The function
hinge
for computing non-conformity scores for conformal classifiers has been added tocrepes.extras
.
-
The class
Wrap
has changed name toWrapRegressor
and the arguments to thecalibrate
method of this class have been changed to be in line with thecalibrate
method ofWrapClassifier
. -
The Jupyter notebooks
crepes_nb_wrap.ipynb
andcrepes_nb.ipynb
have been updated and extended
- Fixed a bug in the
evaluate
method ofConformalPredictiveSystem
, which caused an error when usingCRPS
as a single metric, i.e., when providingmetrics=["CRPS"]
as input. Thanks to @Zeeshan-Khaliq for pointing this out.
- The full cpds matrix is calculated only if requested to be output (
return_cpds=True
) by thepredict
method ofConformalPredictiveSystem
or if the set of metrics include "CRPS" for theevaluate
method. This allows large test and calibration sets to be handled without excessive use of memory in other cases. Thanks to @christopherjluke and @SebastianLeborg for highlighting and discussing the problem.
-
Default values for mandatory arguments for the methods
fit
,predict
andevaluate
methods ofConformalRegressor
andConformalPredictiveSystem
, as well as the functionbinning
increpes.extras
, are no longer provided -
y_min
andy_max
correctly inserted for all percentiles -
The
evaluate
method forConformalPredictiveSystem
fixed to work correctly even if CRPS not included in metrics, and if all test objects belong to the same Mondrian category -
Incorrect values for percentiles will render an error message
- The class
Wrap
has been added tocrepes
, allowing for easily extending the underlying learner with methods for forming, and making predictions with, conformal regressors and predictive systems. See the documentation for the interface to objects of the class through thecalibrate
,predict_int
andpredict_cps
methods, in addition to thefit
andpredict
methods of the wrapped learner.
-
A Jupyter notebook
crepes_nb_wrap.ipynb
has been added to the documentation to illustrate the use of theWrap
class. -
The output result array of a conformal predictive system is converted to a vector if the array contains one column only.
-
The documentation has been updated and now includes links to classes and methods.
-
crepes.fillings
has been renamed tocrepes.extras
-
The class
DifficultyEstimator
was added tocrepes.fillings
, incorporating functionality provided by the previous functionssigma_knn
,sigma_knn_oob
,sigma_variance
, andsigma_variance_oob
, which now are superfluous and have been removed fromcrepes.fillings
. See the documentation for the interface to objects of the class through thefit
andapply
methods. -
An option to normalize difficulty estimates, by providing
scaler=True
to thefit
method ofDifficultyEstimator
, has been included. -
An option to install the package from conda-forge has been included.
-
The Jupyter notebook
crepes_nb.ipynb
has been updated to incorporate the above features -
The documentation of the crepes package and the crepes.fillings module has been updated with links to source code, additional examples and notes.
- Modified
sigma_knn
to allow for calculating difficulty in three ways; using distances only, using standard deviation of the target and using the absolute residuals of the nearest neighbors. - Added
sigma_knn_oob
increpes.fillings
- Renamed the performance metric
efficiency
toeff_mean
(mean efficiency) and addedeff_med
(median efficiency) to theevaluate
method inConformalRegressor
andConformalPredictiveSystem
- Added warning messages for the case that the calibration set is too small for the specified confidence level or lower/higher percentiles [thanks to @Geethen for highlighting this]
- Added examples in comments
- The documentation has been generated using Sphinx and resides in crepes.readthedocs.io
- Extended type checks to include NumPy floats and integers [thanks to @patpizio for pointing this out]
- Corrected a bug in the assignment of min/max values for Mondrian conformal predictive systems
- The Jupyter notebook with examples has been updated, changed name to
crepes_nb.ipynb
and moved to the docs folder - Changed the default
k
to 25 insigma_knn
- Added the parameter
cpds_by_bins
to thepredict
method ofConformalPredictiveSystem
- Comments updated and added for all classes and functions
- Line widths for code and comments adjusted to meet PEP 8
- Renamed some parameter names
- The function
binning
increpes.fillings
updated to produce the correct number of bins - The Jupyter notebook
crepes.ipynb
has been updated and extended
- First release of
crepes