sklearn.calibration.CalibratedClassifierCV?

class sklearn.calibration.CalibratedClassifierCV(base_estimator=None, *, method='sigmoid', cv=None)

[源碼]

isotonic回歸或邏輯回歸的概率校正。

校準依據的是 base_estimatordecision_function方法(如果存在的話),否則是predict_proba

用戶指南中閱讀更多內容。

新版本0.19

參數 說明
base_estimator instance BaseEstimator
分類器的輸出需要被校準以提供更準確的predict_proba輸出。
method ‘sigmoid’ or ‘isotonic’
用于校準的方法。可以是“Sigmoid”,它對應于Platt的方法(即邏輯回歸模型),也可以是“isotonic”,這是一種非參數方法。建議不要用太少的校準樣本(<<1000)進行等滲校準,因為它趨向于過擬合。
cv integer, cross-validation generator, iterable or “prefit”, optional
確定交叉驗證的拆分策略。cv的可能輸入包括:
- None, 默認使用5折交叉驗證
- 整數, 指定交叉驗證的折數
- CV splitter
- 一個可迭代由訓練集和測試集劃分的索引的數組。
對于輸入整數或者None, 如果y是一個二分類或者多分類, 則使用sklearn.model_selection.StratifiedKFold
如果y既不是二分類也不是多分類, 則使用
sklearn.model_selection.KFold
有關可在此處使用的各種交叉驗證策略,請參閱用戶指南
如果“prefit”通過,則假定base_estimator已經擬合,所有數據都用于校準。

在0.22版中更改:如果為None, 則CV默認值從3折更改為5折。
屬性 說明
classes_ array, shape (n_classes)
類標簽
calibrated_classifiers_ list (len() equal to cv or 1 if cv == “prefit”)
已校準的分類器列表,每個交叉驗證折都有一個,除了驗證折外,已在所其他折上進行了擬合,并在驗證折上進行了校準。

參考

R57cf438d7060-1 Obtaining calibrated probability estimates from decision trees and naive Bayesian classifiers, B. Zadrozny & C. Elkan, ICML 2001

R57cf438d7060-2 Transforming Classifier Scores into Accurate Multiclass Probability Estimates, B. Zadrozny & C. Elkan, (KDD 2002)

R57cf438d7060-3 Probabilistic Outputs for Support Vector Machines and Comparisons to Regularized Likelihood Methods, J. Platt, (1999)

R57cf438d7060-4 Predicting Good Probabilities with Supervised Learning, A. Niculescu-Mizil & R. Caruana, ICML 2005

方法

方法 說明
fit(self, X, y[, sample_weight]) 擬合校準模型
get_params(self[, deep]) 獲取此估計器的參數
predict(self, X) 預測新樣本的目標
predict_proba(self, X) 分類后驗概率
score(self, X, y[, sample_weight]) 返回給定測試數據和標簽的平均精度。
set_params(self, **params) 設置此估計器的參數
__init__(self, /, *args, **kwargs)

[源碼]

初始化self。請參閱help(type(self))以獲得準確的說明。

fit(self, X, y, sample_weight=None)

[源碼]

擬合校準模型。

參數 說明
X array-like, shape (n_samples, n_features)
訓練數據
y array-like, shape (n_samples,)
目標值
sample_weight array-like of shape (n_samples,), default=None
樣本權重。如果為None, 樣本的權重是一樣的。
返回值 說明
self object
返回self的實例
get_params(self, deep=True)

[源碼]

獲取此估計器的參數。

參數 說明
deep bool, default=True
如果為True,則將返回此估計器的參數和所包含的作為估計器的子對象。
返回值 說明
params mapping of string to any
映射到其值的參數名稱
predict(self, X)

[源碼]

預測新樣品的目標。預測類是具有最高概率的類,因此可以與未標記分類器的預測不同。

參數 說明
X array-like, shape (n_samples, n_features)
樣本
返回值 說明
C array, shape (n_samples,)
預測類
predict_proba(self, X)

[源碼]

后驗分類概率。

該函數根據測試向量X上的每個類返回分類的后驗概率。

參數 說明
X array-like, shape (n_samples, n_features)
樣本
返回值 說明
C array, shape (n_samples,)
預測類
score(self, X, y, sample_weight=None)

[源碼]

返回給定測試數據和標簽的平均精度。

在多標簽分類中,這是子集的準確性,這是一個嚴格的度量,因為您需要對每個樣本正確地預測每個標簽集。

參數 說明
X array-like, shape (n_samples, n_features)
測試樣本
y array-like of shape (n_samples,) or (n_samples, n_outputs)
測試樣板的真實標簽
sample_weight array-like of shape (n_samples,), default=None
樣本權重
返回值 說明
score float
self.predict(X)與y的平均精度。
set_params(self, **params)

[源碼]

設置此估計器的參數。

該方法適用于簡單估計器以及嵌套對象(例如pipelines)。后者具有表單的參數 <component>__<parameter>,這樣就可以更新嵌套對象的每個組件。

參數 說明
**params dict
估計器參數
返回值 說明
self 估計器實例。

sklearn.calibration.CalibratedClassifierCV使用示例?