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