全部產品
Search
文件中心

Platform For AI:GBDT二分類V2

更新時間:Jul 13, 2024

梯度提升決策樹 (Gradient Boosting Decision Trees) 二分類,是經典的基於梯度提升(Gradient Boosting)的有監督學習模型,可以用來解決二分類問題。

支援計算資源

支援的計算引擎為MaxCompute。

演算法簡介

梯度提升決策樹 (Gradient Boosting Decision Trees) 二分類,是經典的基於梯度提升(Gradient Boosting)的有監督學習模型,可以用來解決二分類問題。

演算法原理

梯度提升決策樹模型構建了一個由多棵決策樹組成的組合模型。每一棵決策樹對應一個弱學習器,將這些弱學習器組合在一起,可以達到比較好的分類或迴歸效果。

梯度提升的基本遞推結構為:

image

其中,image通常為一棵 CART 決策樹,image為決策樹的參數,image為步長。第m棵決策樹在前m-1棵決策樹的基礎上對目標函數進行最佳化。最終得到包含若干棵決策樹的模型。

演算法使用

該演算法實現中包含了XGBoost提出的二階梯度最佳化目標以及LightGBM的長條圖近似計算。對於一些常見的二分類問題,都可以使用這個演算法解決,模型擁有較好的效能,且擁有不錯的可解釋性。

該演算法支援稀疏向量格式與多列特徵格式的輸入。輸入為稀疏向量格式時,僅能選擇1個String類型的列,每條資料是以單個空格為分隔字元的索引值對,索引值之間用冒號分隔,例如:1:0.3 3:0.9。輸入為多列特徵時,可以選擇多個Double、Bigint和String的列,包括了數值型特徵(numerical feature)與類型特徵(categorical feature)。對於數值型特徵,演算法會對資料進行分箱操作;對於類型特徵,不需要提前進行OneHot預先處理,演算法會使用 many-vs-many 的分裂策略。

該演算法要求二分類的類別必須為0和1。

當該組件與GBDT二分類預測V2組件成對執行完成後,訓練得到的模型支援部署為線上服務,詳細操作可以參考Pipeline部署線上服務

可視化配置參數

輸入樁配置

輸入樁(從左至右)

限制資料類型

建議上遊組件

是否必選

輸入資料

讀資料表

組件參數

頁簽

參數

是否必選

描述

預設值

欄位設定

是否為稀疏向量格式

輸入表中用於訓練的特徵列是否為稀疏向量格式。在稀疏向量格式中,每條資料是以單個空格為分隔字元的索引值對,索引值之間用冒號分隔,例如:1:0.3 3:0.9

選擇特徵列

輸入表中用於訓練的特徵列名數組。非稀疏向量格式時,支援類型double/bigint/string;稀疏向量格式時,支援string類型,並且只能選擇1列。

選擇類型特徵列

非稀疏向量格式,選擇作為類型特徵(categorical feature)處理的列,其他列作為數值型特徵處理。

選擇標籤列

輸入表中用於訓練的標籤列名。

選擇權重列

輸入表中用於訓練的權重列名。

參數設定

樹的數目

模型中樹的棵數。

1

最大分葉節點數

訓練每棵樹時,最多包含的分葉節點個數。

32

學習速率

學習率。

0.05

訓練樣本比例

訓練每棵樹時,樣本的採樣比例,範圍為 (0, 1]。

0.6

訓練特徵比例

訓練每棵樹時,特徵的採樣比例,範圍為 (0, 1]。

0.6

分葉節點最少樣本數

訓練每個樹時,各個葉子節點至少包含的樣本數量。

500

最大分箱個數

連續特徵進行離散分箱時的最大分箱個數。該值越大,進行節點分裂時越精確,但計算代價越大。

32

最多類別數

類型特徵最多允許的類別個數:對於一個類型特徵,所有出現的值按頻率從高到低排序後,序位多於該值的類別將合并到一個桶中。該值越大,進行節點分裂時越精確,但也更容易過擬合,計算代價也越大。

1024

特徵數量

稀疏特徵時,填寫最大特徵ID+1;不填寫時需要掃描一遍資料計算。

根據輸入資料自動計算

全域偏置項

初始預測為正樣本的機率值;不填寫時需要掃描一遍資料進行預估。

根據輸入資料自動計算

隨機數產生器種子

隨機種子,用於採樣。

0

執行調優

底層作業使用的計算資源

底層作業使用的計算資源:

  • MaxCompute

  • Flink

MaxCompute

節點數

執行作業的節點數。

根據輸入資料自動計算

每節點記憶體

節點所使用的記憶體數,單位為MB。

根據輸入資料自動計算

線程數

使用多線程加速計算,但成本也更高;一般情況下,隨著線程數的增加,效能會先上升後下降;請謹慎調整線程數。

1

輸出樁說明

輸出樁

儲存位置

下遊建議組件

資料類型

模型輸出

不需要配置

GBDT二分類預測V2

MaxCompute表

特徵重要性輸出

不需要配置

MaxCompute表

與PS-SMART二分類對比

如果您之前使用PS-SMART二分類訓練組件遇到了一些問題不容易解決,那麼可以嘗試使用GBDT二分類V2組件。兩個組件當前的功能和參數支援情況,見下表:

PS-SMART二分類參數

對應本組件的參數

是否稀疏格式

是否為稀疏向量格式

選擇特徵列

選擇特徵列

選擇標籤列

選擇標籤列

選擇權重列

選擇權重列

評估指標類型

不適用,預設為 AUC 指標,可以在 worker 日誌中查看。

樹數量

樹的數目

樹最大深度

最大分葉節點數:換算公式為:2^( 樹最大深度- 1)

資料採樣比例

訓練樣本比例

特徵採樣比例

訓練特徵比例

L1懲罰項係數

暫不支援。

L2懲罰項係數

暫不支援。

學習速率

學習速率

近似Sketch精度

最大分箱個數:換算公式為:1/近似Sketch精度

最小分裂損失變化

分葉節點最少樣本數:兩者不能直接換算,但都可用於控制過擬合。

特徵數量

特徵數量

全域偏置項

全域偏置項

隨機數產生器種子

隨機數產生器種子

特徵重要性類型

不適用,當前預設為資訊增益。

計算核心數

節點數:不能直接使用相同數值,推薦先試用系統自動分配,然後進行細調。

每個核記憶體大小

每節點記憶體:不能直接使用相同數值,推薦先試用系統自動分配,然後進行細調。