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