Spec-Zone.ru › scikit-learn

calibration_curve

sklearn.calibration.calibration_curve(y_true, y_prob, *, pos_label=None, n_bins=5, strategy='uniform')[source]

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

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

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

Дополнительную информацию см. в Руководстве пользователя.

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

Истинные метки.

y_probодномерный массив формы (n_samples,)

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

pos_labelцелое число, число с плавающей точкой, булево значение или строка, по умолчанию None

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

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

n_binsцелое число, по умолчанию 5

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

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

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

uniform

Интервалы имеют одинаковую ширину.

quantile

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

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

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

prob_predмассив numpy формы (n_bins,) или меньше

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

Ссылки

Alexandru Niculescu-Mizil и Rich Caruana (2005) Предсказание хороших вероятностей с помощью контролируемого обучения, в Трудах 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–2025 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.6/modules/generated/sklearn.calibration.calibration_curve.html

Spec-Zone.ru

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