當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python sklearn calibration_curve用法及代碼示例


本文簡要介紹python語言中 sklearn.calibration.calibration_curve 的用法。

用法:

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

計算校準曲線的真實概率和預測概率。

該方法假設輸入來自二元分類器,並將 [0, 1] 區間離散化為 bin。

校準曲線也可以稱為可靠性圖。

在用戶指南中閱讀更多信息。

參數

y_true形狀類似數組 (n_samples,)

真正的目標。

y_prob形狀類似數組 (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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。