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


Python sklearn.calibration.calibration_curve用法及代码示例


用法:

sklearn.calibration.calibration_curve(y_true, y_prob, *, normalize=False, n_bins=5, strategy='uniform')

计算校准曲线的真实概率和预测概率。

该方法假设输入来自二元分类器,并将 [0, 1] 区间离散化为 bin。

校准曲线也可以称为可靠性图。

在用户指南中阅读更多信息。

参数

y_truearray-like 的形状 (n_samples,)

真正的目标。

y_probarray-like 的形状 (n_samples,)

正类的概率。

normalize布尔,默认=假

y_prob 是否需要归一化到 [0, 1] 区间,即不是一个合适的概率。如果为 True,则 y_prob 中的最小值线性映射到 0,最大的映射到 1。

n_bins整数,默认=5

离散化 [0, 1] 区间的 bin 数。更大的数字需要更多的数据。没有样本(即在 y_prob 中没有相应值)的 bin 将不会被返回,因此返回的数组可能具有小于 n_bins 的值。

strategy{‘uniform’, ‘quantile’},默认='uniform'

用于定义 bin 宽度的策略。

制服

箱具有相同的宽度。

分位数

这些 bin 具有相同数量的样本并取决于 y_prob

返回

prob_truendarray 形状 (n_bins,) 或更小

每个 bin 中类别为正类的样本的比例(正类的分数)。

prob_predndarray 形状 (n_bins,) 或更小

每个 bin 中的平均预测概率。

参考

Alexandru Niculescu-Mizil 和 Rich Caruana (2005) Predicting Good Probabilities With Supervised Learning,第 22 届机器学习国际会议 (ICML) 论文集。见第 4 节(预测的定性分析)。

例子

>>> import numpy as np
>>> from sklearn.calibration import calibration_curve
>>> y_true = np.array([0, 0, 0, 0, 1, 1, 1, 1, 1])
>>> y_pred = np.array([0.1, 0.2, 0.3, 0.4, 0.65, 0.7, 0.8, 0.9,  1.])
>>> prob_true, prob_pred = calibration_curve(y_true, y_pred, n_bins=3)
>>> prob_true
array([0. , 0.5, 1. ])
>>> prob_pred
array([0.2  , 0.525, 0.85 ])

相关用法


注:本文由纯净天空筛选整理自scikit-learn.org大神的英文原创作品 sklearn.calibration.calibration_curve。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。