log_loss#

sklearn.metrics.log_loss(y_true, y_pred, *, нормализовать=True, sample_weight=None, метки=None)[источник]#

Логарифмические потери, также известные как логистические потери или потери перекрестной энтропии.

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

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

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

Параметры:
y_trueмассивоподобный или матрица индикаторов меток

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

y_predarray-like из float, shape = (n_samples, n_classes) или (n_samples,)

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

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

нормализоватьbool, по умолчанию=True

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

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

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

меткиarray-like, default=None

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

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

Возвращает:
потеряfloat

Логарифмические потери, также известные как логистические потери или потери перекрестной энтропии.

Примечания

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

Ссылки

C.M. Bishop (2006). Pattern Recognition and Machine Learning. Springer, стр. 209.

Примеры

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