brier_score_loss#

sklearn.metrics.brier_score_loss(y_true, y_proba=None, *, sample_weight=None, pos_label=None, y_prob='deprecated')[源代码]#

计算Brier得分损失。

Brier得分损失越小越好,因此以“损失”命名。Brier评分衡量预测概率和实际结果之间的均方差。Brier分数始终取0和1之间的值,因为这是预测概率(必须在0和1之间)和实际结果(只能取0和1的值)之间的最大可能差异。它可以分解为细化损失和校准损失之和。

Brier评分适用于可以被构造为真或假的二元和分类结果,但不适用于可以具有三个或更多值的有序变量(这是因为Brier评分假设所有可能的结果彼此之间具有相等的“距离”)。哪个标签被认为是阳性标签通过参数控制 pos_label ,默认为较大标签,除非 y_true 全为0或全为-1,在这种情况下 pos_label 默认为1。

阅读更多的 User Guide .

参数:
y_true形状类似阵列(n_samples,)

真正的目标。

y_proba形状类似阵列(n_samples,)

正类的可能性。

sample_weight形状类似数组(n_samples,),默认=无

样本重量。

pos_labelint、float、bool或string,默认值为无

正类的标签。 pos_label 将通过以下方式推断:

  • if y_true in {-1, 1} or {0, 1}, pos_label defaults to 1;

  • else if y_true 包含字符串,将引发错误, pos_label 应明确规定;

  • 否则, pos_label 默认为更大的标签,即 np.unique(y_true)[-1] .

y_prob形状类似阵列(n_samples,)

正类的可能性。

自 1.5 版本弃用: y_prob 已弃用,将在1.7中删除。使用 y_proba 而不是.

返回:
score浮子

失去了Brier得分。

引用

[1]

Wikipedia entry for the Brier score <https://en.wikipedia.org/wiki/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)
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)