Source code for caliber.regression.binning.iterative.mean

from typing import Optional

import numpy as np

from caliber.regression.binning.iterative.base import IterativeBinningRegressionModel


[docs] class IterativeBinningMeanRegressionModel(IterativeBinningRegressionModel):
[docs] def fit( self, preds: np.ndarray, targets: np.ndarray, groups: Optional[np.ndarray] = None, ) -> dict: return super().fit(values=preds, targets=targets, groups=groups)
[docs] def predict( self, preds: np.ndarray, groups: Optional[np.ndarray] = None ) -> np.ndarray: return super().predict(values=preds, groups=groups)
def _get_scores(self, preds: np.ndarray, targets: np.ndarray) -> np.ndarray: return np.abs(targets - preds) def _get_inverse_scores( self, preds: np.ndarray, score_quantiles: np.ndarray ) -> np.ndarray: if self.which_quantile == "both": quantiles = np.stack( (preds - score_quantiles, preds + score_quantiles), axis=1 ) elif self.which_quantile == "upper": quantiles = preds + score_quantiles else: quantiles = preds - score_quantiles return quantiles