当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。