Sklearn参数详解—GBDT
總第113篇
前言
這篇介紹Boosting的第二個模型GBDT,GBDT和Adaboost都是Boosting模型的一種,但是略有不同,主要有以下兩點不同:
GBDT使用的基模型是CART決策樹,且只能是CART決策樹,而Adaboost的默認基模型是CART決策樹,可以是其他模型。
GBDT通過計算每次模型的負梯度來進行模型迭代,而Adaboost模型則根據錯分率來進行模型迭代。
參數
class?sklearn.ensemble.GradientBoostingClassifier(loss='deviance',?learning_rate=0.1,?n_estimators=100,?subsample=1.0,?criterion='friedman_mse',?min_samples_split=2,?min_samples_leaf=1,?min_weight_fraction_leaf=0.0,?max_depth=3,?min_impurity_decrease=0.0,?min_impurity_split=None,?init=None,?random_state=None,?max_features=None,?verbose=0,?max_leaf_nodes=None,?warm_start=False,?presort='auto')因基分類器是決策樹,所以很多參數都是用來控制決策樹生成的,這些參數與前面決策樹參數基本一致,對于一致的就不進行贅述。關于決策樹參數看這里:Sklearn參數詳解--決策樹
loss:損失函數度量,有對數似然損失deviance和指數損失函數exponential兩種,默認是deviance,即對數似然損失,如果使用指數損失函數,則相當于Adaboost模型。
criterion: 樣本集的切分策略,決策樹中也有這個參數,但是兩個參數值不一樣,這里的參數值主要有friedman_mse、mse和mae3個,分別對應friedman最小平方誤差、最小平方誤差和平均絕對值誤差,friedman最小平方誤差是最小平方誤差的近似。
subsample:采樣比例,這里的采樣和bagging的采樣不是一個概念,這里的采樣是指選取多少比例的數據集利用決策樹基模型去boosting,默認是1.0,即在全量數據集上利用決策樹去boosting。
warm_start:“暖啟動”,默認值是False,即關閉狀態,如果打開則表示,使用先前調試好的模型,在該模型的基礎上繼續boosting,如果關閉,則表示在樣本集上從新訓練一個新的基模型,且在該模型的基礎上進行boosting。
屬性/對象
feature_importance_:特征重要性。
oob_improvement_:每一次迭代對應的loss提升量。oob_improvement_[0]表示第一次提升對應的loss提升量。
train_score_:表示在樣本集上每次迭代以后的對應的損失函數值。
loss_:損失函數。
estimators_:基分類器個數。
方法
apply(X):將訓練好的模型應用在數據集X上,并返回數據集X對應的葉指數。
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的概率結果。
你還可以看:
Sklearn參數詳解—Adaboost
Sklearn參數詳解—貝葉斯
Sklearn參數詳解—SVM
總結
以上是生活随笔為你收集整理的Sklearn参数详解—GBDT的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Sklearn参数详解—Adaboost
- 下一篇: 微星 AM5 主板为海力士 A DIE