Skip to main content

Overview

CalibratedClassifierCV calibrates predicted probabilities of a base classifier using cross-validation. It supports sigmoid (Platt scaling) and isotonic regression calibration methods.

Constructor

new CalibratedClassifierCV(baseEstimator, options?)

Parameters

baseEstimator
Classifier
required
Base classifier to calibrate. Must support fit() and predict() methods.
options.cv
number
default:"5"
Number of cross-validation folds.
options.method
'sigmoid' | 'isotonic'
default:"'sigmoid'"
Calibration method:
  • sigmoid: Platt scaling (assumes sigmoid relationship)
  • isotonic: Isotonic regression (non-parametric, more flexible)
options.ensemble
boolean
default:"true"
If true, uses all CV calibrators as an ensemble. If false, uses only one calibrator.
options.randomState
number
Random seed for reproducible cross-validation splits.

Methods

fit()

fit(X: Matrix, y: Vector, sampleWeight?: Vector): this
Fit the calibrated model using cross-validation.
X
Matrix
required
Training data matrix.
y
Vector
required
Target values.
sampleWeight
Vector
Sample weights.

predict()

predict(X: Matrix): Vector
Predict class labels.

predictProba()

predictProba(X: Matrix): Matrix
Predict calibrated class probabilities.

score()

score(X: Matrix, y: Vector): number
Return accuracy score.

Properties

classes_
Vector | null
Unique class labels.

Examples

Basic calibration

import { LogisticRegression, CalibratedClassifierCV } from "bun-scikit";

const baseModel = new LogisticRegression();
const calibrated = new CalibratedClassifierCV(baseModel, {
  cv: 5,
  method: "sigmoid"
});

calibrated.fit(XTrain, yTrain);
const proba = calibrated.predictProba(XTest);

Isotonic calibration

import { RandomForestClassifier, CalibratedClassifierCV } from "bun-scikit";

const rf = new RandomForestClassifier({ nEstimators: 100 });
const calibrated = new CalibratedClassifierCV(rf, {
  method: "isotonic",
  cv: 3
});

calibrated.fit(XTrain, yTrain);
const calibratedProba = calibrated.predictProba(XTest);

Notes

  • Use sigmoid calibration when you expect a sigmoid-shaped calibration curve
  • Use isotonic calibration for more flexible non-parametric calibration
  • Isotonic calibration requires more training data to avoid overfitting
  • Ensemble mode (default) averages predictions from all CV folds for better stability

Build docs developers (and LLMs) love