Quick API¶
This page is a compact method map for WrapCalibratedExplainer.
Mode-specific semantics notes¶
Classification¶
Calibration prerequisites: fit on proper split and calibrate on held-out calibration split.
Mode-specific guarantees: Venn-Abers calibrated class probabilities with intervals.
Assumptions: exchangeability or calibration-deployment distribution match.
Explicit non-guarantees: no guarantee under drift or regime shift.
Explanation-envelope limits: feature-level intervals are model-response summaries, not causal claims.
Formal semantics: Calibrated interval semantics.
Percentile or interval regression¶
Calibration prerequisites: fit regression model and calibrate CPS on held-out calibration split.
Mode-specific guarantees: CPS percentile intervals for requested
low_high_percentiles.Assumptions: exchangeability or calibration-deployment distribution match.
Explicit non-guarantees: no guarantee under drift or fixed interval width across subpopulations.
Explanation-envelope limits: interval effects on explanations summarize model behavior under perturbation.
Formal semantics: Calibrated interval semantics.
Probabilistic or thresholded regression¶
Calibration prerequisites: fit regression model and calibrate before threshold queries.
Mode-specific guarantees: threshold events use CPS with Venn-Abers calibrated probabilities.
Assumptions: exchangeability or calibration-deployment distribution match.
Explicit non-guarantees: no guarantee under drift and no causal guarantee from threshold probabilities.
Explanation-envelope limits: feature-level probability shifts are model-response summaries.
Formal semantics: Calibrated interval semantics.
Core methods¶
pred = explainer.predict(X_query)
pred, (low, high) = explainer.predict(X_query, uq_interval=True)
probs = explainer.predict_proba(X_query)
probs, (low, high) = explainer.predict_proba(X_query, uq_interval=True)
factual = explainer.explain_factual(X_query)
alternatives = explainer.explore_alternatives(X_query)
Reject-aware prediction note¶
When predict(...) or predict_proba(...) is called with a non-NONE
reject_policy, the return value is a RejectResult envelope. For
ONLY_ACCEPTED and ONLY_REJECTED, result.prediction remains full-batch;
use result.metadata["source_indices"] and result.metadata["matched_count"]
to identify the matched subset. Reject-enabled explain_factual(...) and
explore_alternatives(...) return reject-aware collections
(RejectCalibratedExplanations / RejectAlternativeExplanations), not a
RejectResult envelope.
Classification¶
explainer.fit(x_proper, y_proper)
explainer.calibrate(x_cal, y_cal, feature_names=feature_names)
probs, (low, high) = explainer.predict_proba(X_sample, uq_interval=True)
Percentile or interval regression¶
pred, (low, high) = explainer.predict(
X_sample,
uq_interval=True,
low_high_percentiles=(5, 95),
)
Probabilistic or thresholded regression¶
p = explainer.predict_proba(X_sample, threshold=120.0)
p, (plo, phi) = explainer.predict_proba(X_sample, uq_interval=True, threshold=120.0)
Entry-point tier: Tier 2.