Source code for nestkit.conformal.results
"""Conformal prediction result dataclasses."""
from __future__ import annotations
from dataclasses import dataclass
import numpy as np
[docs]
@dataclass
class ClassifierConformalResult:
"""Per-class quantile thresholds from CV+ Mondrian conformal calibration.
Attributes
----------
alpha : float
Significance level (miscoverage rate).
qhat_per_class : ndarray of shape (n_classes,)
Mondrian q-hat threshold for each class.
n_calibration_per_class : ndarray of shape (n_classes,)
Number of calibration samples used per class.
"""
alpha: float
qhat_per_class: np.ndarray
n_calibration_per_class: np.ndarray
[docs]
@dataclass
class RegressorConformalResult:
"""Per-bin residual quantiles from Mondrian regression conformal calibration.
Attributes
----------
alpha : float
Significance level (miscoverage rate).
n_bins : int
Number of Mondrian bins (after any merging).
bin_edges : ndarray of shape (n_bins + 1,)
Bin edges computed from quantiles of OOF predictions.
bin_quantiles : list of (float, float)
``(q_lo, q_hi)`` residual quantile pair per bin.
bin_counts : ndarray of shape (n_bins,)
Number of calibration samples in each bin.
fallback_quantiles : tuple of (float, float)
Global residual quantiles used for extrapolation.
"""
alpha: float
n_bins: int
bin_edges: np.ndarray
bin_quantiles: list[tuple[float, float]]
bin_counts: np.ndarray
fallback_quantiles: tuple[float, float]