快速樹系分量迴歸
重要
Machine Learning 工作室 (傳統) 的支援將於 2024 年 8 月 31 日結束。 建議您在該日期之前轉換成 Azure Machine Learning。
自 2021 年 12 月 1 日起,您將無法建立新的 Machine Learning 工作室 (傳統) 資源。 在 2024 年 8 月 31 日之前,您可以繼續使用現有的 Machine Learning 工作室 (傳統) 資源。
ML 工作室 (傳統) 文件即將淘汰,未來將不再更新。
建立分量迴歸模型
模組概觀
本文描述如何使用機器學習 Studio (傳統) 中的快速樹系分量回歸模組,建立可預測指定分量數目值的回歸模型。
如果您想要了解有關預測分佈的詳細資訊,而非取得單一平均預測值,可使用分量迴歸。 這個方法有許多應用,包括:
預測價格
估計學生成績或套用成長圖表評估子系開發
探索變數之間有微弱關聯的預測關聯性
此迴歸演算法是受監督的學習方法,這表示需要包含標籤資料行的已加上標籤資料集。 因為是迴歸演算法,所以標籤資料行必須只包含數值。
深入瞭解分位數迴歸
迴歸分成許多不同的類型。 就最基本的意義而言,迴歸是指將模型配適到以數值向量表示的目標。 不過,統計學家也不斷開發越來越進階的迴歸方法。
分位數的最簡單定義其為可將一組資料劃分成相等大小群組的值,而且分位數量值會標記群組之間的界限。 就統計的意義而言,分位數是從隨機變數其累積分佈函數 (CDF) 的反函數固定間隔處所取得的值。
線性迴歸模型會嘗試使用單一評估 (平均) 預測數值變數的值,有時候您需要預測目標變數的範圍或整體分佈。 現在已針對此用途開發了貝氏迴歸和分位數迴歸這類技術。
分位數迴歸可協助您瞭解預測值的分佈。 樹狀結構型分量迴歸模型 (如本模組所用的模型) 也可以用來預測非參數化分佈。
如需其他實作詳細資料和資源,請參閱〈技術附註〉一節。
如何設定 Fast_Forest 分量回歸
您可以使用此模組來設定回歸模型的屬性,然後使用其中一個 定型模組進行定型。
如果您要提供一組固定的參數或設定參數清除,設定步驟的 dependng 會有很大的差別。
使用固定參數建立分量回歸模型
假設您知道要如何設定模型,您可以提供一組特定值做為引數。 當您定型模型時,請使用定型模型。
將 Fast 樹系分量回歸 模組新增至您在 Studio (傳統) 中的實驗。
將 [ 建立定型模式] 選項設定為 單一參數。
在 [ 樹狀結構數目] 中,輸入可在集團中建立的樹狀結構數目上限。 建立多個樹狀結構通常能提高精確度,不過代價是需要花費較長的定型時間。
在 [ 葉數] 中,輸入可以在任何樹狀結構中建立的離開或終端節點數目上限。
針對分 葉所需的訓練實例數目下限 ,指定在樹狀結構中建立任何終端節點 (分葉) 所需的最小範例數目。
藉由增加此值,您會增加建立新規則的臨界值。 例如,若預設值是 1,即使單一案例可能會造成新規則的建立。 如果您將值增加為5,定型資料就必須包含至少5個符合相同條件的案例
針對 [ 封袋] 分數],指定介於0和1之間的數位,表示建立每個分量群組時要使用的樣本分數。 系統會隨機選擇樣本,並進行取代。
針對 [ 功能分數],輸入介於0和1之間的數位,表示建立任何特定樹狀結構時所要使用的總功能部分。 一律隨機選擇功能。
針對 [ 分割分數],輸入介於0和1之間的數位,表示要在樹狀結構的每個分割中使用的功能分數。 一律隨機選擇所用的功能。
針對 [ 分量取樣計數],輸入評估分量時要評估的案例數目。
針對要 估計的分量,請輸入您想要模型定型和建立預測的分量清單(以逗號分隔)。
例如,如果您想要建立可估計分位數的模型,您會輸入
0.25, 0.5, 0.75
。選擇性地輸入 [亂數種子] 的值,以植入模型所使用的亂數產生器。 預設值為 0,這表示選擇隨機散播。
如果您需要重現對相同資料連續執行之間的結果,則應提供值。
選取 [ 允許未知的類別層級 ] 選項,以建立未知值的群組。
如果您取消選取它,模型可以接受培訓資料中包含的值。
如果您選取此選項,模型可能較不精確地得知已知的值,但它可以針對新的 (未知的) 值提供更好的預測。
連線訓練資料集,請選取單一標籤資料行,然後連接定型模型。
執行實驗。
使用參數清理來建立分量回歸模型
如果您不確定模型的最佳參數,您可以設定參數清除,並將值範圍提供為引數。 當您將模型定型時,請使用 [ 微調模型超參數 ] 模組。
將 Fast 樹系分量回歸 模組新增至您在 Studio (傳統) 中的實驗。
將 [ 建立定型模式] 選項設定為 [ 參數範圍]。
如果您不確定最佳參數,則建議使用參數掃描。 藉由指定多個值並使用 [ 微調模型超參數 ] 模組來定型模型,您可以找到一組最佳的資料參數。
選擇參數清除之後,您可以針對每個可調式的屬性設定單一值或多個值。 例如,您可能會決定要修正樹狀結構的數目,但會隨機變更控制每個樹狀結構建立方式的其他值。
如果您輸入單一值,則會在所有的清除反復專案中使用該值,即使其他值變更也是如此。
輸入要使用之離散值的逗號分隔清單。 這些值會與其他屬性搭配使用。
使用 範圍 產生器來定義連續值的範圍。
在定型過程中, 微調模型超參數 模組會反復查看各種不同的值組合,以建立最佳的模型。
針對每個 樹狀結構的分葉數目上限,輸入每個樹狀結構中允許的離開或終端節點總數。
針對 [已建立的 樹狀結構數目],輸入要在建立集團時執行的反覆運算次數。 藉由建立更多樹狀結構,您可能會獲得更好的涵蓋範圍,同時增加定型時間的費用。
針對 每個分葉節點的樣本數下限,指出建立分葉節點所需的案例數。
藉由增加此值,您會增加建立新規則的臨界值。 例如,若預設值是 1,即使單一案例可能會造成新規則的建立。 如果您將此值增加至 5,則定型資料至少要包含 5 個案例,才會符合相同的條件。
在 [ 封袋] 分數的範圍] 中,輸入建立每個分量群組時要使用的樣本分數。 系統會隨機選擇樣本,並進行取代。
每個分數都應該是介於0和1之間的數位。 使用逗號分隔多個分數。
在 [ 功能分數的範圍] 中,輸入在建立每個分量群組時所要使用的總功能的分數。 功能是隨機播放的。
每個分數都應該是介於0和1之間的數位;使用逗號分隔多個分數。
在 [ 分割分數的範圍] 中,指定要在每個分量群組中使用的一小部分功能。 使用的實際功能是隨機播放的。
每個分數都應該是介於0和1之間的數位;使用逗號分隔多個分數。
在 用來評估分量的取樣計數中,指出預估分量時應評估的樣本數目。 如果您輸入的數位大於可用樣本的數目,則會使用所有範例。
在 [ 必要的分量值] 中,輸入要用來定型模型的分量清單(以逗號分隔)。 例如,如果您想要建立估計分量的模型,您可以輸入 ' 0.25,0.5,0.75
在 [ 亂數種子] 中輸入一個值,以植入模型使用的亂數產生器。 若要重複執行,可使用散播。
預設值為 0,這表示選擇隨機散播。
選取 [類別特徵中允許未知值] 選項,可以在訓練或驗證集中建立未知值的群組。
如果您取消選取此選項,則模型只會接受訓練資料中包含的值。
如果您選取此選項,模型可能較不精確地得知已知的值,但它可以針對新的 (未知的) 值提供更好的預測。
連線訓練資料集,選取 [標籤] 資料行,然後連接 [微調模型超參數] 模組。
執行實驗。
結果
定型完成後:
- 若要查看優化模型的最終超參數,請以滑鼠右鍵按一下 微調模型超參數 的輸出,然後選取 [ 視覺化]。
範例
如需如何使用此模組的範例,請參閱 Azure AI 資源庫:
- 分量回歸:示範如何使用自動價格資料集來建立和解讀分量回歸模型。
技術說明
本節包含實作詳細資料、提示和常見問題集的解答。
實作詳細資料
機器學習中的快速樹系分量回歸模組是使用決策樹來執行隨機樹系分量回歸的方式。 隨機的樹系可用來避免決策樹狀結構可能發生的過度膨脹。 決策樹狀結構是類似樹狀結構的二進位流程圖,使用者可以按照其中一個輸入功能的值,決定繼續使用兩個子節點的哪一個。
在各個分葉節點中,會傳回值。 在內部節點中,決策是以測試 ' ' x ≤ v ' 為基礎,其中 x 是輸入範例中的功能值,而 v 是這項功能的其中一個可能值。 迴歸樹狀結構可產生的函數是所有分段常數函數。
在隨機樹系中,建立樹狀結構集團的方式是使用封袋] 來選取定型資料的隨機樣本和功能子集,然後將決策樹納入每個資料子集。 隨機樹系演算法會將所有樹狀結構的平均輸出,而快速樹系分量迴歸則會保留參數 [分量取樣計數] 指定的樹狀結構中所有的預測標籤,並輸出分佈,以便使用者能夠檢視指定執行個體的分量值。
相關研究
如需分量回歸的詳細資訊,請參閱這些書籍和文章:
分量迴歸樹系。 Nicolai Meinshausen
http://jmlr.org/papers/volume7/meinshausen06a/meinshausen06a.pdf
隨機樹系。 Leo Breiman。
模組參數
名稱 | 類型 | 範圍 | 選用 | 描述 | 預設 |
---|---|---|---|---|---|
建立訓練模式 | 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" | 參數掃掠期間使用的必要分量值 |
輸出
名稱 | 類型 | 描述 |
---|---|---|
未定型的模型 | ILearner 介面 | 可以連接到「定型通用模型」或「交叉驗證模型」模組的未定型分量迴歸模型。 |