促進式決策樹迴歸

重要

Machine Learning 工作室 (傳統) 的支援將於 2024 年 8 月 31 日結束。 建議您在該日期之前轉換成 Azure Machine Learning

自 2021 年 12 月 1 日起,您將無法建立新的 Machine Learning 工作室 (傳統) 資源。 在 2024 年 8 月 31 日之前,您可以繼續使用現有的 Machine Learning 工作室 (傳統) 資源。

ML 工作室 (傳統) 文件即將淘汰,未來將不再更新。

使用促進式決策樹演算法建立迴歸模型

類別:機器學習/初始化模型/回歸

注意

適用于僅限機器學習 Studio (傳統)

Azure Machine Learning 設計工具中提供類似的拖放模組。

模組概觀

本文描述如何使用機器學習 Studio (傳統) 中的「促進式決策樹回歸」模組,利用提升來建立迴歸樹狀結構的集團。 提升表示每個樹狀都會相依於先前的樹狀。 演算法的學習方式是適配其前方樹狀的殘差。 因此,決策樹集團中的促進有助於提高精確度,但稍微有涵蓋範圍不足的風險。

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

注意

本單元只適用於使用數值變數的資料集。

定義模型之後,請使用 [ 定型模型 ] 或 [ 微調模型超參數 ] 模組來定型模型。

提示

想要深入瞭解已建立的樹狀結構嗎? 定型模型之後,以滑鼠右鍵按一下 [ 定型模型 ] 模組的輸出 (或 調整模型超參數 模組) ,然後選取 [ 視覺化 ] 以查看在每個反復專案上建立的樹狀結構。 您可以向下切入每個樹狀結構的分割,並查看每個節點的規則。

深入了解提升迴歸樹

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

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

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

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

如何設定提升決策樹迴歸

  1. 將促進式 決策樹 模組新增至您的實驗。 您可以在 [回歸] 類別之下的機器學習Initialize底下找到此模組。

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

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

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

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

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

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

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

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

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

    此值也會控制視覺化定型模型時所顯示的樹狀結構數目。 如果您想要查看或列印 ingle 樹狀結構,您可以將此值設定為1。不過,這表示只會產生一個樹狀結構 (具有初始) 參數集的樹狀結構,而不會執行進一步的反覆運算。

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

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

  8. 允許未知的類別層級:選取此選項可在定型和驗證集中建立未知值的群組。 如果您取消選取此選項,則模型只會接受訓練資料中包含的值。 此模型對於已知值可能較不精確,但針對新的 (未知) 值可提供更佳的預測。

  9. 新增訓練資料集和其中一個定型模組:

    • 如果您將 [ 建立定型模式] 選項設為 [ 單一參數],請使用「 定型模型 」模組。

    • 如果您將 [ 建立定型模式] 設定為 [ 參數範圍],請使用 [ 微調模型超參數 ] 模組。

    注意

    如果您將參數範圍傳遞給定型模型,則其只會使用參數範圍清單中的第一個值。

    如果您將一組參數值傳遞至 微調模型超參數 模組,當它預期每個參數的設定範圍時,會忽略這些值並使用學習模組的預設值。

    如果您選取 [ 參數範圍 ] 選項,並輸入任何參數的單一值,就會在整個清除中使用該單一值,即使其他參數會在某個範圍的值之間變更也一樣。

  10. 執行實驗。

結果

定型完成後:

  • 若要查看在每個反復專案上建立的樹狀結構,請以滑鼠右鍵按一下 [ 定型模型 模組],然後選取要視覺化的 定型模型 。 如果您使用 [ 微調模型超參數],請以滑鼠右鍵按一下模組,然後選取 定型的最佳模型 ,將最佳模型視覺化。

    按一下每個樹狀結構,向下切入分割並查看每個節點的規則。

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

  • 若要儲存定型模型的快照集,請以滑鼠右鍵按一下定型模組的定型 模型 輸出,然後選取 [ 另存新檔]。 您儲存的定型模型複本不會在後續執行實驗時更新。

範例

如需如何在機器學習中使用促進式樹狀結構的範例,請參閱 Azure AI 資源庫

技術說明

本節包含實作詳細資料、提示和常見問題集的解答。

提示

一般而言,當特徵有些許相關時,決策樹會產生較好的結果。 如果特徵的 Entropy 程度很高 (也就是彼此不相關),則它們共同的資訊會很少,甚至沒有,在樹狀結構中排序它們就不沒有多大的預測意義。

實作詳細資料

集團樹狀結構的產生方式是在每個步驟中計算迴歸樹,以大致估計損失函數的梯度,然後將可使新樹狀結構的損失極小化的係數加入至前一個樹狀結構。 MART 在給定實例上產生的集團輸出是樹狀輸出的總和。

  • 在二元分類問題中,輸出會透過某些校正方式來轉換為機率。

  • 在迴歸問題中,輸出就是函數的預測值。

  • 針對排名問題,實例會依集團的輸出值排序。

模組參數

名稱 範圍 類型 預設 描述
每一個樹狀結構的葉數上限 >=1 整數 20 指定每一個樹狀結構的葉數上限
每一個葉節點的樣本數下限 >=1 整數 10 指定形成葉節點所需的案例數下限
學習率 [double.Epsilon;1.0] Float 0.2 指定初始學習速率
建構的樹狀結構總數 >=1 整數 100 指定在定型期間可建立的樹狀結構數目上限
亂數散播 任意 整數 提供模型使用的亂數產生器的種子。 保留空白表示預設值。
允許不明類別層級 任意 Boolean true 如果為 true,則會為每個類別資料行建立額外層級。 測試資料集內若有層級是定型資料集內所有沒有的,則會對應到此額外層級。

輸出

名稱 類型 描述
未定型的模型 ILearner 介面 未定型的迴歸模型

另請參閱

A-Z 模組清單
迴歸