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)