sklearn-adaboost


sklearn中實現了adaboost分類和回歸,即AdaBoostClassifier和AdaBoostRegressor,

AdaBoostClassifier 實現了兩種方法,即 SAMME 和 SAMME.R

AdaBoostRegressor 用的 Adaboost.R2

 

框架參數

分類與回歸框架參數基本相同

base_estimator:基學習器,默認是cart分類樹和cart回歸樹,如果AdaBoostClassifier選擇SAMME.R算法,基學習器還要支持概率預測,也就是在sklearn中基學習器的預測方法有predict和predict_proba

algorithm:只在AdaBoostClassifier中有,主要原因是實現了兩種Adaboost分類算法,SAMME和SAMME.R。

兩者的主要區別是弱學習器權重的度量,SAMME用對樣本集分類效果作為弱學習器權重,而SAMME.R使用了對樣本集分類的預測概率大小來作為弱學習器權重。

由於SAMME.R使用了概率度量的連續值,迭代一般比SAMME快,因此AdaBoostClassifier的默認算法algorithm的值也是SAMME.R。

我們一般使用默認的SAMME.R就夠了,但是要注意的是使用了SAMME.R, 則弱分類學習器參數base_estimator必須限制使用支持概率預測的分類器。SAMME算法則沒有這個限制。

loss:只在AdaBoostRegressor中有,Adaboost.R2算法需要用到。

有線性‘linear’, 平方‘square’和指數 ‘exponential’三種選擇, 默認是線性,一般使用線性就足夠了,除非你懷疑這個參數導致擬合程度不好。

n_estimator:基學習器的個數,默認50

learning_rate:學習率,默認是1,取值0-1之間,用於正則化,防止過擬合

random_state:隨機種子設置。

 

基學習器參數

默認決策樹,基學習器的參數同單獨的決策樹的參數

參數很多,選幾個調參常用的參數解釋下

max_feature:節點划分時的最大特征數,默認為None,即考慮所有特征,取log2代表最多考慮log2N個特征,取sqrt或auto代表最多考慮 根號N 個特征,取整數m代表m個特征,取浮點數代表百分比,即 m*N,

如果特征不多,一般用None即可

max_depth:樹的深度,不指定是無限生長

min_samples_split:節點划分所需的最小樣本數,默認是2

min_samples_leaf :葉子節點最少樣本數,默認是1

min_weight_fraction_leaf:葉子節點最小的樣本權重和,限制葉子節點所有樣本權重和的最小值,如果小於這個值,則會和兄弟節點一起被剪枝。 默認是0,就是不考慮權重問題。

  一般來說,如果我們有較多樣本有缺失值,或者分類樹樣本的分布類別偏差很大,就會引入樣本權重,這時我們就要注意這個值了。

max_leaf_nodes: 最大葉子節點數,防止過擬合,默認是"None”,即不限制最大的葉子節點數。

 

屬性

1、estimators_ : list of classifiers,擬合的基學習器的集合。

2、classes_ : array of shape = [n_classes],類的標簽。

3、n_classes_ : int,類的數量。

4、estimator_weights_ : array of floats,在提升的總體效果中,每個估計器的權重。

5、estimator_errors_ : array of floats,在提升的總體效果中,每個估計器的分類誤差。

6、feature_importances_ : array of shape = [n_features],如果基學習器支持的話,它表示每個特征的重要性。

 

方法

decision_function(X):返回決策函數值(比如svm中的決策距離)

fit(X,Y):在數據集(X,Y)上訓練模型。

get_parms():獲取模型參數

predict(X):預測數據集X的結果。

predict_log_proba(X):預測數據集X的對數概率。

predict_proba(X):預測數據集X的概率值。

score(X,Y):輸出數據集(X,Y)在模型上的准確率。

staged_decision_function(X):返回每個基分類器的決策函數值

staged_predict(X):返回每個基分類器的預測數據集X的結果。

staged_predict_proba(X):返回每個基分類器的預測數據集X的概率結果。

staged_score(X, Y):返回每個基分類器的預測准確率。

 
 

參考資料:

https://blog.csdn.net/hahaha_2017/article/details/79852363

https://www.jianshu.com/p/b936e49509ca


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM