probly.conformal_prediction.methods.class_conditional

Class-Conditional Conformal Prediction.

Classes

ClassConditionalClassifier(model, score, ...)

Class conditional conformal predictor for classification.

ClassConditionalRegressor(model, score, ...)

Class-conditional conformal predictor for regression.

class probly.conformal_prediction.methods.class_conditional.ClassConditionalClassifier(model, score, class_func, use_accretive=False)[source]

Bases: GroupedConformalBase, ConformalClassifier

Class conditional conformal predictor for classification.

Parameters:
static to_numpy(data)

Convert tensor or array-like to numpy array.

Parameters:

data (Any)

Return type:

ndarray[Any, dtype[floating]]

calibrate(x_cal, y_cal, alpha)

Calibrate group-wise thresholds on a calibration dataset.

Parameters:
Return type:

float

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

Return class-conditional prediction sets.

Parameters:
  • x_test (Sequence[Any])

  • alpha (float)

  • probs (npt.NDArray[np.floating] | None)

Return type:

npt.NDArray[np.bool_]

group_func: ClassFunc
group_thresholds: dict[int, float | np.floating]
group_thresholds_lower: dict[int, float | np.floating]
group_thresholds_upper: dict[int, float | np.floating]
is_asymmetric: bool
score: ClassificationScore
class probly.conformal_prediction.methods.class_conditional.ClassConditionalRegressor(model, score, class_func)[source]

Bases: GroupedConformalBase, ConformalRegressor

Class-conditional conformal predictor for regression.

Parameters:
static to_numpy(data)

Convert tensor or array-like to numpy array.

Parameters:

data (Any)

Return type:

ndarray[Any, dtype[floating]]

calibrate(x_cal, y_cal, alpha)

Calibrate group-wise thresholds on a calibration dataset.

Parameters:
Return type:

float

predict(x_test, alpha)[source]

Return prediction intervals based on class groups.

Parameters:
  • x_test (Sequence[Any])

  • alpha (float)

Return type:

npt.NDArray[np.floating]

group_func: ClassFunc
group_thresholds: dict[int, float | np.floating]
group_thresholds_lower: dict[int, float | np.floating]
group_thresholds_upper: dict[int, float | np.floating]
is_asymmetric: bool
score: RegressionScore