提升決策樹迴歸元件

本文描述 Azure Machine Learning 設計工具中的一個元件。

使用此元件來建立會使用提升的迴歸樹狀的整體。 提升表示每個樹狀都會相依於先前的樹狀。 演算法的學習方式是適配其前方樹狀的殘差。 因此,決策樹集團中的促進有助於提高精確度,但稍微有涵蓋範圍不足的風險。

此元件以 LightGBM 演算法為基礎。

此迴歸方法是受監督的學習方法,因此需要加標籤的資料集。 標籤資料行必須包含數值。

注意

僅使用此元件搭配使用數值變數的資料集。

定義模型之後,使用定型模型來為模型定型。

深入了解提升迴歸樹

除了封袋、隨機樹系等等,「促進」也是建立集團模型的傳統方法之一。 在 Azure Machine Learning 中,提升決策樹會使用有效的 MART 梯度提升演算法實作。 梯度提升是一種適用於迴歸問題的機器學習技術。 它會逐步建置迴歸樹,利用預先定義的損失函數來測量每個步驟中的錯誤,並於下一個步驟中更正。 因此,預測模型實際上是一整團的較弱預測模型。

在迴歸問題中,提升會以逐步方式建置一系列樹狀,然後使用任意可微分損失函式來選取最佳樹狀。

如需詳細資訊,請參閱以下文章:

梯度促進方法也可用於分類問題,以適當的遺失函數將問題簡化成迴歸。 如需用於分類工作的提升樹實作的詳細資訊,請參閱二元提升決策樹

如何設定提升決策樹迴歸

  1. 提升決策樹元件新增至您的管線。 您可以在 [迴歸] 類別下的 [機器學習]、[初始化] 下找到此元件。

  2. 設定 [建立定型模式] 選項來指定要如何定型模型。

    • 單一參數:如果您知道要如何設定模型,請選取此選項,並提供一組特定值做為引數。

    • 參數範圍:如果您不確定最佳參數,且想要執行參數掃掠,請選取此選項。 選取要反覆運算的值範圍,而調整模型超參數會反覆運算您提供的所有可能設定的組合,以判斷可產生最佳結果的超參數。

  3. 每個樹狀的葉數上限:指出可在任何樹狀中建立的終端節點 (分葉) 數目上限。

    增加此值,您可能會增加樹狀結構的大小,並取得較佳的精確度,風險是過度配適和較長的定型時間。

  4. 每個分葉節點的樣本數下限:指出在樹狀中建立任何終端節點 (分葉) 所需的案例數目。

    藉由增加此值,您會增加建立新規則的臨界值。 例如,若預設值是 1,即使單一案例可能會造成新規則的建立。 如果您將此值增加至 5,則定型資料至少要包含 5 個案例,才會符合相同的條件。

  5. 學習速率:輸入 0 和 1 之間的數字,以定義學習時的步驟大小。 學習速率決定學習模組收斂到最佳解決方案的快慢。 如果步驟太大,您可能會超過最佳解決方案。 如果步驟太小,則定型會較久才收斂到最佳解決方案。

  6. 建構的樹狀數目:指出要在整體中建立的決策樹總數。 藉由建立多個決策樹,您或許能夠有較佳的涵蓋範圍,但是定型時間會拉長。

    不過,如果您將值設定為 1,則只會產生一個樹狀 (具有初始參數集的樹狀),且不會進一步反覆運算。

  7. 亂數種子:輸入選擇性的非負整數,以作為隨機種子值。 指定種子可確保每次以相同資料和參數執行都能重現。

    隨機種子預設會設為 0,表示從系統時鐘取得初始種子值。

  8. 定型模型:

    • 如果您將 [建立定型模式] 設定為 [單一參數],請連接已標記的資料集和定型模型元件。

    • 如果您將 [建立定型模式] 設定為 [參數範圍],請連接已標記的資料集,並使用調整模型超參數來定型模型。

    注意

    如果您將參數範圍傳遞給定型模型,則系統只會使用單一參數清單中的預設值。

    如果您將單一組參數值傳遞至調整模型超參數元件,當其預期每個參數有一組設定時,則會忽略這些值,並對學習模組使用預設值。

    如果您選取 [參數範圍] 選項,並對任何參數輸入單一值,則在整個掃掠期間都會使用您所指定的該單一值,即使其他參數在某個範圍的值之間變更亦然。

  9. 提交管線。

結果

定型完成後:

  • 若要使用模型進行評分,請將定型模型連接至評分模型,以預測新輸入範例的值。

  • 若要儲存定型模型的快照集,請在定型模型的右側面板中選取 [輸出] 索引標籤,然後按一下 [註冊資料集] 圖示。 已定型模型的複本將會儲存為元件樹狀中的元件,且不會在管線的後續執行時更新。

後續步驟

請參閱 Azure Machine Learning 可用的元件集