Spec-Zone.ru › scikit-learn

calibration_curve

sklearn.calibration.calibration_curve(y_true, y_prob, *, pos_label=None, n_bins=5, strategy='uniform')[исходный код]

Вычисляет истинные и предсказанные вероятности для калибровочной кривой.

Метод предполагает, что входные данные получены от бинарного классификатора, и разбивает интервал [0, 1] на бины.

Калибровочные кривые также могут называться диаграммами надежности.

Подробнее см. в Руководстве пользователя.

Параметры:
y_trueмассивоподобный объект формы (n_samples,)

Истинные целевые значения.

y_probмассивоподобный объект формы (n_samples,)

Вероятности положительного класса.

pos_labelint, float, bool или str, по умолчанию=None

Метка положительного класса.

Добавлено в версии 1.1.

n_binsint, по умолчанию=5

Количество бинов для разбиения интервала [0, 1]. Чем больше это число, тем больше данных требуется. Бины без образцов (то есть без соответствующих значений в y_prob) не будут возвращены, поэтому возвращаемые массивы могут содержать меньше n_bins значений.

strategy{‘uniform’, ‘quantile’}, по умолчанию=’uniform’

Стратегия, используемая для определения ширины бинов.

uniform

Все бины имеют одинаковую ширину.

quantile

В каждом бине одинаковое количество образцов; бины зависят от y_prob.

Возвращает:
prob_truendarray формы (n_bins,) или меньше

Доля образцов, принадлежащих к положительному классу, в каждом бине (доля положительных результатов).

prob_predndarray формы (n_bins,) или меньше

Средняя предсказанная вероятность в каждом бине.

См. также

CalibrationDisplay.from_predictions

Построить калибровочную кривую, используя истинные и предсказанные метки.

CalibrationDisplay.from_estimator

Построить калибровочную кривую, используя оцениватель и данные.

Ссылки

Alexandru Niculescu-Mizil и Rich Caruana (2005). Predicting Good Probabilities With Supervised Learning, в материалах 22-й Международной конференции по машинному обучению (ICML). См. раздел 4 (качественный анализ предсказаний).

Примеры

>>> import numpy as np
>>> from sklearn.calibration import calibration_curve
>>> y_true = np.array([0, 0, 0, 0, 1, 1, 1, 1, 1])
>>> y_pred = np.array([0.1, 0.2, 0.3, 0.4, 0.65, 0.7, 0.8, 0.9,  1.])
>>> prob_true, prob_pred = calibration_curve(y_true, y_pred, n_bins=3)
>>> prob_true
array([0. , 0.5, 1. ])
>>> prob_pred
array([0.2  , 0.525, 0.85 ])

© 2007–2026 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.9/modules/generated/sklearn.calibration.calibration_curve.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API