當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python sklearn log_loss用法及代碼示例


本文簡要介紹python語言中 sklearn.metrics.log_loss 的用法。

用法:

sklearn.metrics.log_loss(y_true, y_pred, *, eps=1e-15, normalize=True, sample_weight=None, labels=None)

對數損失,又稱邏輯損失或 cross-entropy 損失。

這是(多項)邏輯回歸及其擴展(例如神經網絡)中使用的損失函數,定義為為其訓練數據 y_true 返回 y_pred 概率的邏輯模型的負對數似然。對數損失僅針對兩個或多個標簽定義。對於具有真實標簽 和概率估計 的單個樣本,對數損失為:

在用戶指南中閱讀更多信息。

參數

y_true類似數組或標簽指示矩陣

n_samples 個樣本的真實(正確)標簽。

y_pred類似浮點數的數組,形狀 = (n_samples, n_classes) 或 (n_samples,)

預測概率,由分類器的 predict_proba 方法返回。如果y_pred.shape = (n_samples,) 提供的概率被假定為正類的概率。 y_pred 中的標簽假定按字母順序排列,正如 preprocessing.LabelBinarizer 所做的那樣。

eps浮點數,默認=1e-15

對於 p=0 或 p=1,對數損失未定義,因此概率被限製為 max(eps, min(1 - eps, p))。

normalize布爾,默認=真

如果為真,則返回每個樣本的平均損失。否則,返回per-sample 損失的總和。

sample_weight形狀類似數組 (n_samples,),默認=None

樣本權重。

labels類似數組,默認=無

如果未提供,將從 y_true 推斷標簽。如果 labelsNone 並且 y_pred 具有形狀 (n_samples,),則假定標簽是二進製的,並且是從 y_true 推斷出來的。

返回

loss浮點數

注意

使用的對數是自然對數 (base-e)。

參考

厘米。主教(2006 年)。模式識別和機器學習。斯普林格,第209.

例子

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

相關用法


注:本文由純淨天空篩選整理自scikit-learn.org大神的英文原創作品 sklearn.metrics.log_loss。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。