Brier 评分损失#
- sklearn.metrics.brier_score_loss(y_true, y_proba=None, *, sample_weight=None, pos_label=None, y_prob='deprecated')[source]#
- 计算 Brier 评分损失。 - Brier评分损失越小越好,因此命名为“损失”。Brier评分衡量的是预测概率与实际结果之间的均方差。Brier评分的值始终介于零和一之间,因为这是预测概率(必须介于零和一之间)与实际结果(只能取0和1的值)之间可能的最大差异。它可以分解为精细化损失和校准损失之和。 - Brier评分适用于可以构建为真或假的二元和分类结果,但不适用于可以取三个或更多值的序数变量(这是因为Brier评分假设所有可能的结果彼此之间“距离”相等)。哪个标签被认为是正标签由参数 - pos_label控制,除非- y_true全为0或全为-1,否则默认为较大的标签,在这种情况下- pos_label默认为1。- 在用户指南中了解更多信息。 - 参数:
- y_true形状为 (n_samples,) 的类数组
- 真实目标。 
- y_proba形状为 (n_samples,) 的类数组
- 正类的概率。 
- sample_weight形状为 (n_samples,) 的类数组,默认为None
- 样本权重。 
- pos_label整数、浮点数、布尔值或字符串,默认为None
- 正类的标签。 - pos_label将按以下方式推断:- 如果 - y_true在{-1, 1}或{0, 1}中,- pos_label默认为1;
- 否则,如果 - 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]- 示例 - >>> 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) 
 
     
 
