CatBoost 超參數 - Amazon SageMaker

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

CatBoost 超參數

下表包含 Amazon SageMaker CatBoost 演算法所需的或最常用的超參數子集。使用者設定參數,並用來協助從資料預估模型參數。 SageMaker CatBoost 演算法是開放原始碼CatBoost套件的實作。

注意

預設超參數是根據CatBoost 筆記本範例中的範例資料集。

根據預設, SageMaker CatBoost 演算法會根據分類問題的類型自動選擇評估指標和損失函數。 CatBoost 演算法會根據您資料中的標籤數量來偵測分類問題的類型。對於迴歸問題,評估量度和損耗函式都是均方根誤差。對於二進位分類問題,評估指標為曲線下面積 (AUC),損失函數為日誌遺失。對於多類分類問題,評估度量和損耗函式是多類交叉熵。您可以使用eval_metric超參數來變更預設評估測量結果。如需 LightGBM 超參數的詳細資訊,包括說明、有效值和預設值,請參閱下表。

參數名稱 描述
iterations

可建立的樹數量上限。

有效值:整數,範圍:正整數。

預設值:500

early_stopping_rounds

如果一個驗證資料點的一個指標在上early_stopping_rounds輪中沒有改善,則訓練將停止。如果early_stopping_rounds小於或等於零,則會忽略此超參數。

有效值:整數。

預設值:5

eval_metric

驗證資料的評估指標。如果設eval_metric為預設"auto"值,則演算法會根據分類問題類型自動選擇評估量度:

  • 適用於迴歸的 "RMSE"

  • 適用於二進制分類的 "AUC"

  • 適用於多類別分類的 "MultiClass"

有效值:字串,請參閱CatBoost 文件以取得有效值。

預設值:"auto"

learning_rate

檢視每批訓練範例後,模型權重的更新率。

有效值:浮點數、範圍:(0.0, 1.0)。

預設值:0.009

depth

樹的深度。

有效值:整數,範圍:(116)。

預設值:6

l2_leaf_reg

係數用於成本函式的 L2 正規化項。

有效值:整數,範圍:正整數。

預設值:3

random_strength

選取樹狀結構時,用於評分分割的隨機性量。使用此參數可避免過度擬合模型。

有效值:浮點數,範圍:正浮點數。

預設值:1.0

max_leaves

結果樹中葉子的最大數量。只能與"Lossguide"增長政策搭配使用。

有效值:整數,範圍:[2, 64]。

預設值:31

rsm

隨機子空間方法。隨機再次選取圖徵時,每次分割選取時要使用的圖徵百分比。

有效值:浮點數、範圍:(0.0, 1.0]。

預設值:1.0

sampling_frequency

建立樹木時採樣權重和物件的頻率。

有效值:字串,可以是:("PerTreeLevel""PerTree")。

預設值:"PerTreeLevel"

min_data_in_leaf

葉中訓練樣本的最小數量。 CatBoost 不會搜尋範例計數小於指定值的葉子中新的分割。只能與 "Lossguide""Depthwise" 增長政策搭配使用。

有效值:整數,範圍:(1)。

預設值:1

bagging_temperature

定義貝葉斯引導程序的設置。使用貝葉斯引導程序為對象分配隨機權重。如果設定bagging_temperature1.0,則會從指數分佈中取樣權數。如果設定bagging_temperature0.0,則所有寬度都為 1.0。

有效值:浮點數,範圍:非負浮點數。

預設值:1.0

boosting_type

提升計劃。“自動” 表示 boosting_type 根據處理單元類型、訓練資料集中的物件數目以及選取的學習模式來選取。

有效值:字串,下列任一項:("Auto", "Ordered", "Plain")。

預設值:"Auto"

scale_pos_weight

在二進制分類正類的權重。該值被用作從正類對象的權重的乘數。

有效值:浮點數,範圍:正浮點數。

預設值:1.0

max_bin

數值特徵的分割數。"Auto"表示max_bin為根據處理單元類型和其他參數進行選擇。如需詳細資訊,請參閱 CatBoost 文件。

有效值:字串,可以是:("Auto" 或整數字串包含 "1""65535")。

預設值:"Auto"

grow_policy

樹生長政策。定義如何執行貪婪樹建構模組。

有效值:字串,下列任一項:("SymmetricTree", "Depthwise",或 "Lossguide")。

預設值:"SymmetricTree"

random_seed

用於訓練的隨機種子。

有效值:整數,範圍:非負整數。

預設值:1.0

thread_count

訓練期間要使用的執行緒數目。如果thread_count-1,則執行緒數目等於處理器核心的數目。thread_count不可以為0

有效值:正整數,可以是:(-1或正整數)。

預設值:-1

verbose

列印訊息的詳細程度,較高的層次與更詳細的列印對帳單相對應。

有效值:整數,範圍:正整數。

預設值:1