Spec-Zone.ru › scikit-learn

brier_score_loss

sklearn.metrics.brier_score_loss(y_true, y_proba=None, *, sample_weight=None, pos_label=None, y_prob='deprecated')[source]

Вычисление потери Бриера.

Чем меньше потеря Бриера, тем лучше, поэтому и название «потеря». Потеря Бриера измеряет среднее квадратичное отклонение между предсказанной вероятностью и фактическим результатом. Потеря Бриера всегда принимает значение от нуля до единицы, так как это максимальное возможное различие между предсказанной вероятностью (которая должна быть между нулем и единицей) и фактическим результатом (который может принимать значения только 0 и 1). Она может быть разложена на сумму потери уточнения и потери калибровки.

Потеря Бриера подходит для бинарных и категориальных результатов, которые могут быть структурированы как истина или ложь, но не подходит для порядковых переменных, которые могут принимать три или более значений (это связано с тем, что потеря Бриера предполагает, что все возможные результаты равнозначно «удалены» друг от друга). Какой метка считается положительной, контролируется параметром pos_label, который по умолчанию равен большей метке, если y_true не состоит из всех 0 или всех -1, в этом случае pos_label по умолчанию равен 1.

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

Параметры:
y_truearray-like of shape (n_samples,)

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

y_probaarray-like of shape (n_samples,)

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

sample_weightarray-like of shape (n_samples,), default=None

Веса выборки.

pos_labelint, float, bool or str, default=None

Метка положительного класса. pos_label будет определена следующим образом:

  • если y_true в {-1, 1} или {0, 1}, pos_label по умолчанию равен 1;
  • иначе, если y_true содержит строку, будет выведено сообщение об ошибке, и pos_label следует указать явно;
  • в противном случае pos_label по умолчанию равен большей метке, т.е. np.unique(y_true)[-1].
y_probarray-like of shape (n_samples,)

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

Устарело начиная с версии 1.5: y_prob устарело и будет удалено в версии 1.7. Используйте y_proba вместо него.

Возвращает:
scorefloat

Потеря Бриера.

Ссылки

[1]

Статья в Википедии о показателе Бриера.

Примеры

>>> import numpy as np
>>> from sklearn.metrics import brier_score_loss
>>> y_true = np.array([0, 1, 1, 0])
>>> y_true_categorical = np.array(["spam", "ham", "ham", "spam"])
>>> y_prob = np.array([0.1, 0.9, 0.8, 0.3])
>>> brier_score_loss(y_true, y_prob)
np.float64(0.037...)
>>> brier_score_loss(y_true, 1-y_prob, pos_label=0)
np.float64(0.037...)
>>> brier_score_loss(y_true_categorical, y_prob, pos_label="ham")
np.float64(0.037...)
>>> brier_score_loss(y_true, np.array(y_prob) > 0.5)
np.float64(0.0)

Примеры галереи

Кривые калибровки вероятности

Вероятностная калибровка классификаторов

Примеры использования FrozenEstimator

© 2007–2025 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.6/modules/generated/sklearn.metrics.brier_score_loss.html

Spec-Zone.ru

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