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