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


Python sklearn brier_score_loss用法及代碼示例

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

用法:

sklearn.metrics.brier_score_loss(y_true, y_prob, *, sample_weight=None, pos_label=None)

計算 Brier 分數損失。

Brier 分數損失越小越好,因此命名為“loss”。 Brier 分數衡量預測概率與實際結果之間的均方差。 Brier 分數始終取值介於 0 和 1 之間,因為這是預測概率(必須介於 0 和 1 之間)與實際結果(隻能取 0 和 1 之間的值)之間的最大可能差異。它可以分解為細化損失和校準損失的總和。

Brier 分數適用於可以構造為真或假的二元和分類結果,但不適用於可以取三個或更多值的序數變量(這是因為 Brier 分數假設所有可能的結果都是等效的 “distant”彼此)。哪個標簽被認為是正標簽是通過參數 pos_label 控製的,它默認為更大的標簽,除非 y_true 全為 0 或全為 -1,在這種情況下 pos_label 默認為 1。

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

參數

y_true形狀數組 (n_samples,)

真正的目標。

y_prob形狀數組 (n_samples,)

正類的概率。

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

樣本權重。

pos_labelint 或 str,默認=無

正類的標簽。 pos_label 將按以下方式推斷:

  • 如果 y_true 在 {-1, 1} 或 {0, 1} 中,pos_label 默認為 1;
  • 否則,如果y_true 包含字符串,則會引發錯誤並且應明確指定pos_label
  • 否則, pos_label 默認為更大的標簽,即 np.unique(y_true)[-1]

返回

score浮點數

布賴爾分數損失。

參考

1

Wikipedia entry for the Brier score

例子

>>> 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)
0.037...
>>> brier_score_loss(y_true, 1-y_prob, pos_label=0)
0.037...
>>> brier_score_loss(y_true_categorical, y_prob, pos_label="ham")
0.037...
>>> brier_score_loss(y_true, np.array(y_prob) > 0.5)
0.0

相關用法


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