Spec-Zone.ru › scikit-learn

log_loss

sklearn.metrics.log_loss(y_true, y_proba=None, *, normalize=True, sample_weight=None, labels=None, y_pred='deprecated')[исходный код]

Log loss, также называемая логистической потерей или потерей перекрёстной энтропии.

Эта функция потерь используется в (мультиномиальной) логистической регрессии и её расширениях, таких как нейронные сети. Она определяется как отрицательное логарифмическое правдоподобие логистической модели, возвращающей вероятности y_proba для обучающих данных y_true. Log loss определена только для двух или более меток. Для одного образца с истинной меткой \(y \in \{0,1\}\) и оценкой вероятности \(p = \operatorname{Pr}(y = 1)\) значение log loss равно:

\[L_{\log}(y, p) = -(y \log (p) + (1 - y) \log (1 - p))\]

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

Параметры:
y_truearray-like или матрица-индикатор меток

Истинные (правильные) метки для n_samples образцов.

y_probaarray-like с числами с плавающей точкой, форма = (n_samples, n_classes) или (n_samples,)

Предсказанные вероятности, возвращаемые методом predict_proba классификатора. Если y_proba.shape = (n_samples,) предполагается, что переданные вероятности относятся к положительному классу. Предполагается, что метки в y_proba упорядочены в алфавитном порядке, как и в LabelBinarizer.

Значения y_proba ограничиваются диапазоном [eps, 1-eps], где eps — машинная точность для типа данных y_proba.

Добавлено в версии 1.9: y_pred переименован в y_proba.

normalizebool, по умолчанию=True

Если значение истинно, возвращается средняя потеря на образец. В противном случае возвращается сумма потерь по отдельным образцам.

sample_weightarray-like формы (n_samples,), по умолчанию=None

Веса образцов.

labelsarray-like, по умолчанию=None

Если не указаны, метки будут определены по y_true. Если labels равен None и y_pred имеет форму (n_samples,), предполагается, что метки бинарные, и они определяются по y_true.

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

y_predarray-like с числами с плавающей точкой, форма = (n_samples, n_classes) или (n_samples,)

Предсказанные вероятности, возвращаемые методом predict_proba классификатора. Если y_pred.shape = (n_samples,) предполагается, что переданные вероятности относятся к положительному классу. Предполагается, что метки в y_pred упорядочены в алфавитном порядке, как и в LabelBinarizer.

Значения y_pred ограничиваются диапазоном [eps, 1-eps], где eps — машинная точность для типа данных y_pred.

Устарел начиная с версии 1.9: В версии 1.9 y_pred был объявлен устаревшим в пользу y_proba и будет удалён в версии 1.11.

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

Log loss, также называемая логистической потерей или потерей перекрёстной энтропии.

Примечания

Используется натуральный логарифм (с основанием e).

Литература

C.M. Bishop (2006). Распознавание образов и машинное обучение. Springer, с. 209.

Примеры

>>> from sklearn.metrics import log_loss
>>> log_loss(["spam", "ham", "ham", "spam"],
...          [[.1, .9], [.9, .1], [.8, .2], [.35, .65]])
0.21616

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

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

Калибровка вероятностей для классификации на 3 класса

График вероятностей классификации

Оценки Gradient Boosting вне обучающей выборки

Регуляризация Gradient Boosting

Вероятностные предсказания при классификации с помощью гауссовского процесса (GPC)

Важность масштабирования признаков

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

Spec-Zone.ru

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