calibration_curve#

sklearn.calibration.calibration_curve(y_true, y_prob, *, pos_label=None, n_bins=5, strategy='uniform')[源代码]#

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

该方法假设输入来自二进制分类器,并离散化 [0, 1] 间隔到bin中。

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

阅读更多的 User Guide .

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

真正的目标。

y_prob形状类似阵列(n_samples,)

正类的可能性。

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

积极类的标签。

Added in version 1.1.

n_binsint,默认=5

要离散化的箱数 [0, 1] interval.更大的数字需要更多的数据。没有样本的箱(即没有相应的值 y_prob )不会返回,因此返回的数组可能少于 n_bins 价值观

strategy' unique ','分位数',默认=' unique '

用于定义箱宽度的策略。

均匀

垃圾箱的宽度相同。

分位

这些垃圾箱具有相同数量的样本并取决于 y_prob .

返回:
prob_true形状为(n_bins)或更小的ndarray

每个箱中类别为阳性类别的样本比例(阳性分数)。

prob_pred形状为(n_bins)或更小的ndarray

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

引用

Alexandru Niculescu-Mizil和Rich Caruana(2005)《利用监督学习预测良好的概率》,载于第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 ])