probly.conformal_prediction.methods.split

Split conformal prediction methods.

Classes

SplitConformal([calibration_ratio, random_state])

Utility to split data into training and calibration sets.

SplitConformalClassifier(model, score[, ...])

Generic split conformal predictor for classification.

SplitConformalPredictor(model)

Generic split conformal predictor base class.

SplitConformalRegressor(model, score)

Generic split conformal predictor for regression.

class probly.conformal_prediction.methods.split.SplitConformal(calibration_ratio=0.3, random_state=None)[source]

Bases: object

Utility to split data into training and calibration sets.

Parameters:
  • calibration_ratio (float)

  • random_state (int | None)

split(x, y, calibration_ratio=None)[source]

Split data into training and calibration sets.

Parameters:
  • x (Sequence[Any])

  • y (Sequence[Any])

  • calibration_ratio (float | None)

Return type:

tuple[np.ndarray, np.ndarray, np.ndarray, np.ndarray]

class probly.conformal_prediction.methods.split.SplitConformalClassifier(model, score, use_accretive=False)[source]

Bases: SplitConformalPredictor, ConformalClassifier

Generic split conformal predictor for classification.

Parameters:
static to_numpy(x)

Convert tensor to NumPy on CPU (float dtype).

Parameters:

x (Any)

Return type:

ndarray[Any, dtype[floating]]

calibrate(x_cal, y_cal, alpha)

Calibrate the predictor on a calibration dataset.

Parameters:
  • x_cal (Sequence[Any])

  • y_cal (Sequence[Any])

  • alpha (float)

Return type:

float

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

Return prediction sets as a (n_instances, n_labels) 0/1-matrix.

Parameters:
  • x_test (Sequence[Any])

  • alpha (float)

  • probs (Any)

Return type:

npt.NDArray[np.bool_]

score: ClassificationScore
class probly.conformal_prediction.methods.split.SplitConformalPredictor(model)[source]

Bases: ConformalPredictor

Generic split conformal predictor base class.

Parameters:

model (Predictor)

static to_numpy(x)[source]

Convert tensor to NumPy on CPU (float dtype).

Parameters:

x (Any)

Return type:

ndarray[Any, dtype[floating]]

calibrate(x_cal, y_cal, alpha)[source]

Calibrate the predictor on a calibration dataset.

Parameters:
  • x_cal (Sequence[Any])

  • y_cal (Sequence[Any])

  • alpha (float)

Return type:

float

score: Score
class probly.conformal_prediction.methods.split.SplitConformalRegressor(model, score)[source]

Bases: SplitConformalPredictor, ConformalRegressor

Generic split conformal predictor for regression.

Parameters:
static to_numpy(x)

Convert tensor to NumPy on CPU (float dtype).

Parameters:

x (Any)

Return type:

ndarray[Any, dtype[floating]]

calibrate(x_cal, y_cal, alpha)[source]

Calibrate thresholds for regression (supports symmetric and CQR).

Parameters:
  • x_cal (Sequence[Any])

  • y_cal (Sequence[Any])

  • alpha (float)

Return type:

float

predict(x_test, alpha)[source]

Return prediction intervals as a (n_instances, 2)-matrix [lower, upper].

Parameters:
  • x_test (Sequence[Any])

  • alpha (float)

Return type:

npt.NDArray[np.floating]

is_calibrated: bool
nonconformity_scores: npt.NDArray[np.floating] | None
score: RegressionScore
threshold: float | None