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 ])