在執(zhí)行分類時(shí),不僅要預(yù)測(cè)類標(biāo)簽,而且要獲得相應(yīng)標(biāo)簽的概率。這個(gè)概率給了你一些關(guān)于預(yù)測(cè)的信心。有些模型可以給出類概率的糟糕估計(jì),有些甚至不支持概率預(yù)測(cè)。校準(zhǔn)模塊允許您更好地校準(zhǔn)給定模型的概率,或者添加對(duì)概率預(yù)測(cè)的支持。
經(jīng)過良好校準(zhǔn)的分類器是概率分類器, 其可以將 predict_proba 方法的輸出直接解釋為 confidence level(置信度水平)。例如,一個(gè)經(jīng)過良好校準(zhǔn)的(二元的)分類器應(yīng)該對(duì)樣本進(jìn)行分類, 使得在給出一個(gè)接近 0.8 的 prediction_proba 值的樣本中, 大約 80% 實(shí)際上屬于正類。
下面的圖比較了不同分類器的概率預(yù)測(cè)的校準(zhǔn)效果,使用 calibration_curve
。x軸表示每個(gè)bin中的平均預(yù)測(cè)概率。 y軸是正數(shù)的分?jǐn)?shù),類別為正類別(在每個(gè) bin 中)的樣本比例。
LogisticRegression
在默認(rèn)情況下返回經(jīng)過良好校準(zhǔn)的預(yù)測(cè),因?yàn)樗苯觾?yōu)化對(duì)數(shù)損失(log-loss)。相反,其他方法返回有偏概率;每種方法有不同的偏差:
GaussianNB
傾向于將概率推到0或1(注意直方圖中的計(jì)數(shù))。這主要是因?yàn)樗僭O(shè)在給定類的情況下,特征是條件獨(dú)立的,這種情況下的數(shù)據(jù)集不會(huì)包含2個(gè)冗余特征的
RandomForestClassifier
顯示了相反的行為:直方圖在大約0.2和0.9的概率下顯示峰值,而接近0或1的概率非常罕見。對(duì)此,Niculescu Mizil和Caruana給出了一個(gè)解釋 [1]:“對(duì)一組基本模型進(jìn)行平均預(yù)測(cè)的方法,如bagging and random forests ,很難在0和1附近進(jìn)行預(yù)測(cè),因?yàn)榛灸P椭械姆讲顣?huì)偏離應(yīng)接近0或1這些值的預(yù)測(cè)。由于預(yù)測(cè)僅限于區(qū)間[0,1],由方差引起的誤差往往是在0和1附近的單邊。例如,如果一個(gè)模型應(yīng)該對(duì)一個(gè)情況的預(yù)測(cè)應(yīng)該是p=0,那么bagging的唯一方法就是袋中所有的樹都預(yù)測(cè)0。如果我們將噪聲加到bagging中超過平均值的樹上,這種噪聲將導(dǎo)致一些樹在這種情況下預(yù)測(cè)大于0的值,從而使bagging集合的平均預(yù)測(cè)偏離0。我們?cè)陔S機(jī)森林中觀察到這種效應(yīng)最為強(qiáng)烈,因?yàn)殡S機(jī)森林訓(xùn)練的基層樹由于特征子集而具有較高的方差?!币虼?,校準(zhǔn)曲線也被稱為可靠性圖 (Wilks 1995 [2]) 顯示了一種典型的 sigmoid 形狀, 表明分類器可以更多地信任其 “直覺”, 并通常將接近 0 或 1 的概率返回。
線性支持向量分類(LinearSVC
)顯示了更多的sigmoid曲線作為RandomForestClassifier,這是典型的最大邊距方法(比較Niculescu-Mizil and Caruana [1]),重點(diǎn)關(guān)注的是接近決策邊界的硬樣本(支持向量)。
校準(zhǔn)一個(gè)分類器包括擬合一個(gè)回歸器(稱為校準(zhǔn)器),它將分類器的輸出(通過 predict or predict_proba)映射到[0,1]中的校準(zhǔn)概率。校準(zhǔn)器用表示給定樣本的分類器的輸出,并試圖預(yù)測(cè)。
用于訓(xùn)練校準(zhǔn)器的樣品不應(yīng)用于訓(xùn)練目標(biāo)分類器。
CalibratedClassifierCV
是用來校準(zhǔn)分類器的:
CalibratedClassifierCV
使用交叉驗(yàn)證方法來擬合分類器和回歸器。對(duì)于每個(gè) k (trainset, testset)
組合,在訓(xùn)練集上訓(xùn)練一個(gè)分類器,并使用它對(duì)測(cè)試集的預(yù)測(cè)來擬合一個(gè)回歸器。最后,我們得到了k(classifier, regressor)
,其中每個(gè)回歸器將其相應(yīng)分類器的輸出映射到[0,1]中。每個(gè)組在calibrated_classifiers_
屬性中會(huì)被公開,其中每個(gè)條目是一個(gè)有predict_proba方法的校準(zhǔn)分類器,輸出校準(zhǔn)概率。predict_proba的輸出與calibrated_classifiers_
列表中k個(gè)估計(jì)器的預(yù)測(cè)概率平均值相對(duì)應(yīng)。predict的輸出是概率最高的類。
用于校準(zhǔn)的回歸器取決于method
參數(shù)?!癝igmoid”對(duì)應(yīng)于一種基于Platt的Logistic模型[3]的參數(shù)化方法,舉例 被建模為,其中是logistic函數(shù),和是用極大似然擬合回歸器時(shí)要確定的實(shí)數(shù)。'isotonic'
將代替一個(gè)非參數(shù)的isotonic回歸器,它輸出一個(gè)逐步不遞減的函數(shù)(見 sklearn.isotonic
)。
已經(jīng)擬合好的分類器可以通過設(shè)置cv="prefit"
來校準(zhǔn)。在這種情況下,數(shù)據(jù)只用于擬合回歸器。這取決于用戶確定用于擬合分類器的數(shù)據(jù)與用于擬合回歸器的數(shù)據(jù)是不相交的。
如果基本估計(jì)器支持多類預(yù)測(cè),那么CalibratedClassifierCV
可以在多類設(shè)置中校準(zhǔn)概率。該分類器首先以one-vs-rest的方式[4]分別對(duì)每類進(jìn)行校準(zhǔn)。在預(yù)測(cè)概率時(shí),對(duì)每類的標(biāo)定概率分別進(jìn)行預(yù)測(cè)。由于這些概率之和不一定等于1,所以執(zhí)行一個(gè)后處理來標(biāo)準(zhǔn)化它們。
The sklearn.metrics.brier_score_loss
可以用來評(píng)估分類器的校準(zhǔn)的效果。
示例 |
---|
概率校準(zhǔn)曲線 三分類的概率校準(zhǔn) 分類器的概率校準(zhǔn) 分類器校準(zhǔn)的比較 |
參考資料:
1(1,2)Predicting Good Probabilities with Supervised Learning, A. Niculescu-Mizil & R. Caruana, ICML 2005 2On the combination of forecast probabilities for consecutive precipitation periods. Wea. Forecasting, 5, 640–650., Wilks, D. S., 1990a 3Probabilistic Outputs for Support Vector Machines and Comparisons to Regularized Likelihood Methods, J. Platt, (1999) 4Transforming Classifier Scores into Accurate Multiclass Probability Estimates, B. Zadrozny & C. Elkan, (KDD 2002)
更多建議: