probly.conformal_prediction.methods.common

Common utilities for CP and LazyDispatch Prediction.

Functions

predict_probs_torch(model, x)

Handler for PyTorch models: stays on GPU (Tensor).

Classes

ConformalClassifier(model[, nonconformity_func])

Base class for Classification Conformal Prediction.

ConformalPredictor(model[, nonconformity_func])

Base class for Conformal Prediction.

ConformalRegressor(model[, nonconformity_func])

Base class for Regression Conformal Prediction.

Predictor(*args, **kwargs)

Protocol for models used with ConformalPredictor.

class probly.conformal_prediction.methods.common.ConformalClassifier(model, nonconformity_func=None)[source]

Bases: ConformalPredictor, ABC

Base class for Classification Conformal Prediction.

Parameters:
  • model (Predictor)

  • nonconformity_func (Callable[..., npt.NDArray[np.floating]] | None)

abstractmethod calibrate(x_cal, y_cal, alpha)

Virtual method to calibrate the calibration set.

Parameters:
  • x_cal (Sequence[Any]) – Calibration input data.

  • y_cal (Sequence[Any]) – Calibration labels.

  • alpha (float) – The significance level.

Return type:

float

abstractmethod predict(x_test, alpha, probs=None)[source]

Generate prediction sets as boolean matrix (n_samples, n_classes) at given significance level.

Parameters:
  • x_test (Sequence[Any]) – Test input data.

  • alpha (float) – Significance level for prediction sets.

  • probs (Any | None) – Optional precomputed probabilities from the model.

Return type:

npt.NDArray[np.bool_]

class probly.conformal_prediction.methods.common.ConformalPredictor(model, nonconformity_func=None)[source]

Bases: ABC

Base class for Conformal Prediction.

Parameters:
  • model (Predictor)

  • nonconformity_func (Callable[..., npt.NDArray[np.floating]] | None)

abstractmethod calibrate(x_cal, y_cal, alpha)[source]

Virtual method to calibrate the calibration set.

Parameters:
  • x_cal (Sequence[Any]) – Calibration input data.

  • y_cal (Sequence[Any]) – Calibration labels.

  • alpha (float) – The significance level.

Return type:

float

class probly.conformal_prediction.methods.common.ConformalRegressor(model, nonconformity_func=None)[source]

Bases: ConformalPredictor, ABC

Base class for Regression Conformal Prediction.

Parameters:
  • model (Predictor)

  • nonconformity_func (Callable[..., npt.NDArray[np.floating]] | None)

abstractmethod calibrate(x_cal, y_cal, alpha)

Virtual method to calibrate the calibration set.

Parameters:
  • x_cal (Sequence[Any]) – Calibration input data.

  • y_cal (Sequence[Any]) – Calibration labels.

  • alpha (float) – The significance level.

Return type:

float

abstractmethod predict(x_test, alpha)[source]

Generate prediction intervals, e.g. shape (n_samples, 2) for [lower, upper] at given significance level.

Parameters:
  • x_test (Sequence[Any]) – Test input data.

  • alpha (float) – Significance level for prediction intervals.

Return type:

npt.NDArray[np.floating]

class probly.conformal_prediction.methods.common.Predictor(*args, **kwargs)[source]

Bases: Protocol

Protocol for models used with ConformalPredictor.

__call__(x)[source]

Callable method signature for conformal models.

Parameters:

x (Sequence[Any])

Return type:

Sequence[Any]

probly.conformal_prediction.methods.common.predict_probs_torch(model, x)[source]

Handler for PyTorch models: stays on GPU (Tensor).

Parameters:
Return type:

torch.Tensor