Sklearn引數詳解 GBDT

2021-09-25 21:35:45 字數 1499 閱讀 8170

這篇介紹boosting的第二個模型gbdt,gbdt和adaboost都是boosting模型的一種,但是略有不同,主要有以下兩點不同:

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_msemsemae3個,分別對應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_:基分類器個數。

sklearn中gbdt原始碼解讀筆記

這周已經過去了3天,主要精力都是集中在sklearn的gbdt 解讀上,進展肯定是有,但是感覺阻力比較大,但是這又有什麼辦法呢?人一能之,我十之!但是感覺有時候多花時間的情況下效率很低很低,但是可能也是自己內心浮躁,想回去玩造成了這種效率低下,要看這個演算法,只有不到黃河心不死的決心,即便我被迫需要...

sklearn中的gbdt原始碼分析

簡單看了一下sklearn中的gbdt原始碼 在這裡記錄一下,目前來說還不能把gbdt的所有理論都搞清楚 sklearn有兩個類似於gbdt的實現 gradientboostingclassifier gradientboostingregressor乙個用於分類,另乙個用於回歸 這兩個類其實區別只...

sklearn隨機森林 分類引數詳解

ensemble.adaboostclassifier adaboost分類 ensemble.adaboostregressor adaboost回歸 ensemble.baggingclassifier 裝袋分類器 ensemble.baggingregressor 裝袋回歸器 ensemble...