快速樹系分量迴歸

建立分量迴歸模型

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

注意

適用于 : Machine Learning Studio (傳統)

此內容僅適用于 Studio (傳統) 。 Azure Machine Learning 設計工具中已新增類似的拖放模組。 若要深入瞭解 這兩個版本,請參閱這篇文章

模組概觀

本文說明如何使用 Azure Machine Learning Studio (傳統) 中的 快速樹系分量回歸 模組,建立可預測指定分量數目值的回歸模型。

如果您想要了解有關預測分佈的詳細資訊,而非取得單一平均預測值,可使用分量迴歸。 這個方法有許多應用,包括:

  • 預測價格

  • 估計學生成績或套用成長圖表評估子系開發

  • 探索變數之間有微弱關聯的預測關聯性

此回歸演算法是受 監督 的學習方法,這表示它需要包含標籤資料行的已加上標籤資料集。 因為標籤是回歸演算法,所以標籤資料行必須只包含數值。

深入瞭解分量回歸

迴歸分成許多不同的類型。 就最基本的意義而言,迴歸是指將模型配適到以數值向量表示的目標。 不過,統計學家也不斷開發越來越進階的迴歸方法。

最簡單的 分量 定義是將一組資料分割成相等大小群組的值;因此,分量值會標示群組之間的界限。 以統計方式說,分量是從累積分佈函數反向取得的值, (CDF) 隨機變數的值。

線性回歸模型會嘗試使用單一估計值( 平均值)來預測數值變數的值,有時候您需要預測目標變數的範圍或整個分佈。 貝氏回歸和分量回歸這類技術已針對此目的而開發。

分量回歸可協助您瞭解預測值的分佈。 樹狀結構型分量迴歸模型 (如本模組所用的模型) 也可以用來預測非參數化分佈。

如需其他實作詳細資料和資源,請參閱〈技術附註〉一節。

如何設定 Fast_Forest 分量回歸

您可以使用此模組來設定回歸模型的屬性,然後使用其中一個 定型模組進行定型。

如果您要提供一組固定的參數或設定參數清除,設定步驟的 dependng 會有很大的差別。

使用固定參數建立分量回歸模型

假設您知道要如何設定模型,您可以提供一組特定值做為引數。 當您定型模型時,請使用「 定型模型」。

  1. Fast 樹系分量回歸 模組新增至您在 Studio (傳統) 中的實驗。

  2. 將 [ 建立定型模式] 選項設定為 單一參數

  3. 在 [ 樹狀結構數目] 中,輸入可在集團中建立的樹狀結構數目上限。 建立多個樹狀結構通常能提高精確度,不過代價是需要花費較長的定型時間。

  4. 在 [ 葉數] 中,輸入可以在任何樹狀結構中建立的離開或終端節點數目上限。

  5. 針對分 葉所需的訓練實例數目下限 ,指定在樹狀結構中建立任何終端節點 (分葉) 所需的最小範例數目。

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

  6. 針對 [ 封袋] 分數],指定介於0和1之間的數位,表示建立每個分量群組時要使用的樣本分數。 範例會隨機播放,並取代。

  7. 針對 [ 功能分數],輸入介於0和1之間的數位,表示建立任何特定樹狀結構時所要使用的總功能部分。 一律隨機選擇功能。

  8. 針對 [ 分割分數],輸入介於0和1之間的數位,表示要在樹狀結構的每個分割中使用的功能分數。 一律隨機選擇所用的功能。

  9. 針對 [ 分量取樣計數],輸入評估分量時要評估的案例數目。

  10. 針對要 估計的分量,請輸入您想要模型定型和建立預測的分量清單(以逗號分隔)。

    例如,如果您想要建立估計分量的模型,您會輸入 0.25, 0.5, 0.75

  11. (選擇性)輸入 亂數種子 的值,以植入模型所用的亂數產生器。 預設值為 0,這表示選擇隨機散播。

    如果您需要在相同資料的連續執行之間重現結果,則應提供值。

  12. 選取 [ 允許未知的類別層級 ] 選項,以建立未知值的群組。

    如果您取消選取它,模型可以接受培訓資料中包含的值。

    如果您選取此選項,模型可能較不精確地得知已知的值,但它可以針對新的 (未知的) 值提供更好的預測。

  13. 連接訓練資料集、選取單一標籤資料行,然後連接 定型模型

  14. 執行實驗。

使用參數清理來建立分量回歸模型

如果您不確定模型的最佳參數,您可以設定參數清除,並將值範圍提供為引數。 當您將模型定型時,請使用 [ 微調模型超參數 ] 模組。

  1. Fast 樹系分量回歸 模組新增至您在 Studio (傳統) 中的實驗。

  2. 將 [ 建立定型模式] 選項設定為 [ 參數範圍]。

    如果您不確定最佳參數,則建議使用參數掃描。 藉由指定多個值並使用 [ 微調模型超參數 ] 模組來定型模型,您可以找到一組最佳的資料參數。

    選擇參數清除之後,您可以針對每個可調式的屬性設定單一值或多個值。 例如,您可能會決定要修正樹狀結構的數目,但會隨機變更控制每個樹狀結構建立方式的其他值。

    • 如果您輸入單一值,則會在所有的清除反復專案中使用該值,即使其他值變更也是如此。

    • 輸入要使用之離散值的逗號分隔清單。 這些值會與其他屬性搭配使用。

    • 使用 範圍 產生器來定義連續值的範圍。

    在定型過程中, 微調模型超參數 模組會反復查看各種不同的值組合,以建立最佳的模型。

  3. 針對每個 樹狀結構的分葉數目上限,輸入每個樹狀結構中允許的離開或終端節點總數。

  4. 針對 [已建立的 樹狀結構數目],輸入要在建立集團時執行的反覆運算次數。 藉由建立更多樹狀結構,您可能會獲得更好的涵蓋範圍,同時增加定型時間的費用。

  5. 針對 每個分葉節點的樣本數下限,指出建立分葉節點所需的案例數。

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

  6. 在 [ 封袋] 分數的範圍] 中,輸入建立每個分量群組時要使用的樣本分數。 範例會隨機播放,並取代。

    每個分數都應該是介於0和1之間的數位。 使用逗號分隔多個分數。

  7. 在 [ 功能分數的範圍] 中,輸入在建立每個分量群組時所要使用的總功能的分數。 功能是隨機播放的。

    每個分數都應該是介於0和1之間的數位;使用逗號分隔多個分數。

  8. 在 [ 分割分數的範圍] 中,指定要在每個分量群組中使用的一小部分功能。 使用的實際功能是隨機播放的。

    每個分數都應該是介於0和1之間的數位;使用逗號分隔多個分數。

  9. 用來評估分量的取樣計數 中,指出預估分量時應評估的樣本數目。 如果您輸入的數位大於可用樣本的數目,則會使用所有範例。

  10. 在 [ 必要的分量值] 中,輸入要用來定型模型的分量清單(以逗號分隔)。 例如,如果您想要建立估計分量的模型,您可以輸入 ' 0.25,0.5,0.75

  11. 在 [ 亂數種子] 中輸入一個值,以植入模型使用的亂數產生器。 若要重複執行,可使用散播。

    預設值為 0,這表示選擇隨機散播。

  12. 選取 [ 允許分類功能的未知值 ] 選項,在定型或驗證集中建立未知值的群組。

    如果您取消選取此選項,模型只能接受定型資料中包含的值。

    如果您選取此選項,模型可能較不精確地得知已知的值,但它可以針對新的 (未知的) 值提供更好的預測。

  13. 連接訓練資料集,選取 [標籤] 資料行,然後連接 [ 微調模型超參數 ] 模組。

    注意

    請勿使用 定型模型。 如果您設定參數範圍,但使用 定型模型定型,它只會使用 [參數範圍] 清單中的第一個值。

  14. 執行實驗。

結果

定型完成後:

  • 若要查看優化模型的最終超參數,請以滑鼠右鍵按一下 微調模型超參數 的輸出,然後選取 [ 視覺化]。

範例

如需如何使用此模組的範例,請參閱 AZURE AI 資源庫

  • 分量回歸:示範如何使用自動價格資料集來建立和解讀分量回歸模型。

技術提示

本節包含對常見問題的執行詳細資料、秘訣和解答。

實作詳細資料

Azure Machine Learning 中的 快速樹系分量迴歸 模組是使用決策樹狀結構的隨機樹系分量迴歸實作。 隨機的樹系可用來避免決策樹狀結構可能發生的過度膨脹。 決策樹狀結構是類似樹狀結構的二進位流程圖,使用者可以按照其中一個輸入功能的值,決定繼續使用兩個子節點的哪一個。

在各個分葉節點中,會傳回值。 在內部節點中,決策是以測試 ' ' x ≤ v ' 為基礎,其中 x 是輸入範例中的功能值,而 v 是這項功能的其中一個可能值。 迴歸樹狀結構可產生的函數是所有分段常數函數。

在隨機樹系中,建立樹狀結構集團的方式是使用封袋] 來選取定型資料的隨機樣本和功能子集,然後將決策樹納入每個資料子集。 隨機樹系演算法會將所有樹狀結構的平均輸出,而 快速樹系分量迴歸 則會保留參數 [分量取樣計數] 指定的樹狀結構中所有的預測標籤,並輸出分佈,以便使用者能夠檢視指定執行個體的分量值。

如需分量回歸的詳細資訊,請參閱這些書籍和文章:

模組參數

名稱 類型 範圍 選用 描述 預設
建立訓練模式 CreateLearnerMode 清單:單一參數|參數範圍 必要 單一參數 建立進階學習模組選項
樹狀結構數目 整數 模式:單一參數 100 指定要建構的樹狀結構數目
分葉數目 整數 模式:單一參數 20 指定每一個樹狀結構的分葉數目上限。 預設數目為 20
形成分葉所需的訓練執行個體數目下限 整數 模式:單一參數 10 代表形成分葉所需的訓練執行個體數目下限
Bagging 分數 Float 模式:單一參數 0.7 指定要用於每個樹狀結構的定型資料比例
功能分數 Float 模式:單一參數 0.7 指定要用於每個樹狀結構的功能 (隨機選擇) 分數
分割分數 Float 模式:單一參數 0.7 指定要用於每個分割的功能 (隨機選擇) 分數
分量取樣計數 整數 最大值:2147483647 模式:單一參數 100 指定在每個節點中用來評估分量的執行個體數目
將評估的分量 String 模式:單一參數 "0.25; 0.5; 0.75" 指定要評估的分量
亂數散播 整數 選擇性 提供模型使用的亂數產生器的種子。 保留空白表示預設值。
允許不明類別層級 Boolean 必要 true 如果為 true,則會為每個類別資料行建立額外層級。 測試資料集內若有層級是定型資料集內所有沒有的,則會對應到此額外層級。
每一個樹狀結構的葉數上限 ParameterRangeSettings [16; 128] 模式:參數範圍 1632;64 指定每一個樹狀結構允許的分葉數目上限範圍
建構的樹狀結構數目 ParameterRangeSettings [1; 256] 模式:參數範圍 1632;64 指定在定型期間可建立的樹狀結構數目上限範圍
每一個葉節點的樣本數下限 ParameterRangeSettings [1; 10] 模式:參數範圍 單.510 指定形成分葉所需的案例數目下限範圍
Bagging 分數的範圍 ParameterRangeSettings [0.25; 1.0] 模式:參數範圍 0.25;0.5;0.75 指定要用於每個樹狀結構的定型資料比例範圍
功能分數的範圍 ParameterRangeSettings [0.25; 1.0] 模式:參數範圍 0.25;0.5;0.75 指定要用於每個樹狀結構的功能 (隨機選擇) 分數範圍
分割分數的範圍 ParameterRangeSettings [0.25; 1.0] 模式:參數範圍 0.25;0.5;0.75 指定要用於每個分割的功能 (隨機選擇) 分數範圍
用來評估分量的取樣計數 整數 模式:參數範圍 100 用來評估分量的取樣計數
需要的分量值 String 模式:參數範圍 "0.25; 0.5; 0.75" 參數掃掠期間使用的必要分量值

輸出

名稱 類型 Description
未定型的模型 ILearner 介面 可以連接到「定型通用模型」或「交叉驗證模型」模組的未定型分量迴歸模型。

另請參閱

迴歸