全部產品
Search
文件中心

Platform For AI:XGBoost訓練

更新時間:Jul 13, 2024

XGBoost演算法在Boosting演算法的基礎上進行了擴充和升級,具有較好的易用性和魯棒性,被廣泛用在各種機器學習生產系統和競賽領域,該演算法支援分類和迴歸。XGBoost訓練組件在XGBoost演算法的基礎上進行了封裝,使功能和PAI更相容,更易用。本文為您介紹XGBoost訓練組件的配置方法。

使用限制

支援的計算引擎為MaxCompute、Flink和DLC。

資料格式

當前支援Table格式和LibSVM格式的資料。

  • Table格式樣本如下:

    f0

    f1

    label

    0.1

    1

    0

    0.9

    2

    1

  • LibSVM格式樣本如下:

    樣本資料

    1 2:1 9:1 10:1 20:1 29:1 33:1 35:1 39:1 40:1 52:1 57:1 64:1 68:1 76:1 85:1 87:1 91:1 94:1 101:1 104:1 116:1 123:1

    0 0:1 9:1 18:1 20:1 23:1 33:1 35:1 38:1 41:1 52:1 55:1 64:1 68:1 76:1 85:1 87:1 91:1 94:1 101:1 105:1 115:1 121:1

    1 2:1 8:1 18:1 20:1 29:1 33:1 35:1 39:1 41:1 52:1 57:1 64:1 68:1 76:1 85:1 87:1 91:1 94:1 101:1 104:1 116:1 123:1

    0 2:1 9:1 13:1 21:1 28:1 33:1 36:1 38:1 40:1 53:1 57:1 64:1 68:1 76:1 85:1 87:1 91:1 94:1 97:1 105:1 113:1 119:1

    0 0:1 9:1 18:1 20:1 22:1 33:1 35:1 38:1 44:1 52:1 55:1 64:1 68:1 76:1 85:1 87:1 91:1 94:1 101:1 104:1 115:1 121:1

    0 0:1 8:1 18:1 20:1 23:1 33:1 35:1 38:1 41:1 52:1 55:1 64:1 68:1 76:1 85:1 87:1 91:1 94:1 101:1 105:1 116:1 121:1

可視化配置組件參數

Designer支援通過可視化方式,配置XGBoost訓練組件參數。

頁簽

參數名稱

類型

參數描述

欄位設定

標籤列名

字串

標籤列名。

特徵列名數組

字串數組

表格式資料中特徵列。和向量列名互斥,代表輸入資料的格式為表格式資料。

向量列名

字串

LibSVM格式資料列名,和特徵列名數組互斥。代表輸入資料的格式為LibSVM資料。

權重列名

字串

權重列對應的列名。

設定模型路徑

字串

設定模型儲存的OSS Bucket路徑。

參數設定

訓練的輪數

整型數值

訓練的輪數。

objective

字串

目標函數,預設值為binary:logistic

Base score

浮點數值

全域bias,預設值為0.5

類別數

整型數值

多分類中類別個數。

構建樹的方法

字串

構建樹的方法,取值如下。

  • 自動(auto)(預設值)

  • 精確(exact)

  • 近似(approx)

  • 長條圖(hist)

L1 正則項

浮點數值

L1正則項,預設值為0.0

L2 正則項

浮點數值

L2正則項,預設值為1.0

學習率

浮點數值

學習率,預設值為0.3

scale_pos_weight

浮點數值

控制正負樣本比例,預設值為1.0

sketch_eps

浮點數值

構建樹方法為approx時,控制分箱個數,預設值為0.03

連續特徵的最大分割箱數

整型數值

構建樹方法為hist時,控制分箱個數,預設值為256

樹的最大深度

整型數值

樹的最大深度,預設值為6

最大節點個數

整型數值

分葉節點最大個數,預設值為0

節點的最小權重

浮點數值

節點的最小權重,預設值為1.0

Max delta step

浮點數值

分葉節點的最大步長,可以調節模型精細度,預設值為0.0

樣本採樣比例

浮點數值

樣本採樣比例,預設值為1

採樣方法

字串

樣本採樣方法,取值如下。

  • GRADIENT_BASED(預設值)

  • UNIFORM

每一層的列採樣比例

浮點數值

按層進行列採樣的比例,預設值為1.0

每個節點的列採樣比例

浮點數值

按節點進行列採樣的比例,預設值為1.0

每棵樹的列採樣比例

浮點數值

按樹進行列採樣的比例,預設值為1.0

Grow Policy

字串

樹生長的規則,取值如下。

  • depthwise(預設值)

  • lossguide

節點分裂最小損失變化

浮點數值

最小分裂loss,預設值為0.0

互動約束

字串

interaction約束。

單調約束

字串

monotone約束。

Tweedie variance power

浮點數值

Tweedie分布方差。Tweedie分布中有效。預設值為1.5

執行調優

節點個數

正整數

單個節點記憶體大小參數配對使用。取值範圍為[1, 9999]。

單個節點記憶體大小

正整數

單位為兆。取值範圍為[1024, 64*1024]。

使用樣本

本樣本使用Designer預置模板,通過希格斯玻色子事件的分類情境,介紹如何在Designer中使用XGBoost演算法。關於如何建立使用XGBoost演算法探究希格斯玻色子事件分類案例工作流程,請參見建立工作流程:預置模板

其中:

XGBoost預測組件輸出為原生XGBoost庫輸出的JSON序列化,如果您想在工作流程中接入二分類評估組件,您需要在XGBoost預測組件的下遊接入SQL指令碼組件,並配置以下代碼,將XGBoost預測組件輸出的JSON序列化轉換為二分類評估組件需要的格式。更多內容,請參見XGBoost參數說明

set odps.sql.udf.getjsonobj.new=true;

select *, CONCAT("{\"0\":", 1.0-prob, ",\"1\":", prob, "}") as detail
FROM (
select *, cast(get_json_object(pred, '$[0]') as double) as prob FROM ${t1})

相關文檔

  • 您可以使用XGBoost預測組件對產生的XGB原生格式的模型進行離線推理。關於XGBoost預測組件的配置方法,請參見XGBoost預測

  • Designer預置了多種演算法組件,您可以根據不同的使用情境選擇合適的組件進行資料處理,詳情請參見組件參考:所有組件匯總