二元決策樹系

使用決策樹系演算法建立二級分類模型

類別: Machine Learning/初始化模型/分類

注意

適用于 : Machine Learning Studio (傳統)

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

模組概觀

本文說明如何使用 Azure Machine Learning Studio (傳統) 中的 [ 二級決策樹 系] 模組,根據決策樹系演算法建立機器學習模型。

決策樹是快速、監督的集團模型。 如果您想要預測的目標最多有兩個結果,此模組是不錯的選擇。 如果您不確定如何設定決策樹模型以獲得最佳結果,建議您使用 [ 微調模型超參數 ] 模組來定型及測試多個模型。 微調可逐一查看多個可能性,並尋找適合您的最佳解決方案。

瞭解決策樹系

此決策樹系演算法是一種集團的學習方法,適用于分類工作。 集團方法是以一般原則為基礎,而不是依賴單一模型,您可以建立多個相關模型並以某種方式結合它們,以取得更佳的結果和更一般化的模型。 一般而言,集團模型比單一決策樹的涵蓋範圍更廣、精確度更高。

有許多方式可以建立個別的模型,並將它們結合在集團中。 這項特定的決策樹系執行方式是建立多個決策樹,然後針對最受歡迎的輸出類別進行 投票 。 投票是在集團模型中產生結果的其中一個已知方法。

  • 許多個別的分類樹狀結構都會使用整個資料集來建立,但不同的 (通常是隨機) 的起點。 這與隨機樹系方法不同,個別決策樹可能只會使用部分資料或功能的隨機部分。
  • 決策樹系樹狀結構中的每個樹狀結構都會輸出標籤的非正規化頻率長條圖。
  • 匯總程式會加總這些長條圖並標準化結果,以取得每個標籤的「機率」。
  • 具有高預測信賴度的樹狀結構在集團的最終決策中會有較高的加權。

一般決策樹有許多分類工作的優點:

  • 它們可以捕獲非線性的決策界限。
  • 您可以針對大量資料進行定型和預測,因為它們在計算和記憶體使用量中都很有效率。
  • 功能選取已整合在定型和分類流程中。
  • 樹狀結構可以容納雜訊資料和許多功能。
  • 它們是非參數化的模型,這表示它們可以處理各種散發的資料。

不過,簡單決策樹可以過度學習資料,而且比樹狀結構整體更不能歸納。

如需詳細資訊,請參閱 判定樹系或《 技術提示》 一節中所列的其他檔。

如何設定 Two-Class 決策樹系

  1. 將 [ 雙類別決策樹 系] 模組新增至 Azure Machine Learning Studio (傳統) 的實驗,然後開啟模組的 [ 屬性 ] 窗格。

    您可以在 Machine Learning 中找到此模組。 展開 [ 初始化],然後 分類

  2. 針對 [重新 取樣] 方法,選擇用來建立個別樹狀結構的方法。 您可以選擇 [ 封袋] ] 或 [ 複寫]。

    • 封袋]:封袋] 也稱為 啟動 程式匯總。 在這個方法中,每個樹狀結構都會成長在新的範例中,這是透過取代來隨機取樣原始資料集,直到您有原始資料集的大小為止。

      模型的輸出會透過 投票(這是一種匯總形式)來合併。 分類決策樹系中的每個樹狀結構都會輸出標籤的非 normalised 頻率長條圖。 匯總是加總這些長條圖和 normalise,以取得每個標籤的「機率」。 如此一來,具有高預測信賴度的樹狀結構在集團的最終決策中將會有較高的加權。

      如需詳細資訊,請參閱啟動程式匯總的維琪百科專案。

    • 複寫 :在 複寫中,每個樹狀結構都會以完全相同的輸入資料進行定型。 判斷每個樹狀節點所使用的分割述詞會保持隨機,而樹狀結構將會不同。

      如需有關使用 [複寫 ] 選項定型 程式的詳細資訊,請參閱 技術 提示一節中所列的白皮書。

  3. 藉由設定 [ 建立定型模式] 選項,指定您要如何定型模型。

    • 單一參數:如果您知道要如何設定模型,您可以提供一組特定值做為引數。

    • 參數範圍:如果您不確定最佳參數,可以藉由指定多個值並使用 微調模型超參數 模組尋找最佳的設定,找到最佳的參數。 講師會反復查看您所提供的多個設定組合,並判斷產生最佳模型的值組合。

  4. 針對 [ 決策樹數目],輸入可以在集團中建立的決策樹數目上限。 藉由建立更多決策樹,您可能會獲得更好的涵蓋範圍,但是定型時間會增加。

    注意

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

  5. 如需決策樹的 最大深度,請輸入一個數位,以限制任何決策樹的最大深度。 增加樹狀結構的深度可增加有效位數,但可能會有過度配適及定型時間增加的風險。

  6. 針對 每個節點的隨機分割數目,請輸入在建立樹狀結構的每個節點時所要使用的分割數目。 分割 表示樹 (節點) 中每個層級的功能會隨機分割。

  7. 如需 每個分葉節點的樣本數下限,請指定在樹狀結構中建立任何終端節點 (分葉) 所需的最小案例數目。

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

  8. 選取 [ 允許分類功能的未知值 ] 選項,在定型或驗證集中建立未知值的群組。 模型的已知值可能較不精確,但是可以針對新的 (未知的) 值提供更好的預測。

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

  9. 附加已加上標籤的資料集和其中一個 定型模組

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

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

    注意

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

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

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

結果

定型完成後:

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

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

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

  • 若要使用模型進行評分,請將 [ 評分模型 ] 模組新增至實驗。

範例

如需如何在機器學習中使用決策樹系的範例,請參閱 Azure AI 資源庫中的範例實驗:

技術提示

本章節包含其他的執行詳細資料、研究和常見問題。

使用提示

如果您的資料有限,或想要將定型模型所花費的時間降到最低,請嘗試下列設定:

有限的定型集

如果定型集只包含少數的執行個體:

  • 使用較多的決策樹來建立決策樹系 (例如,超過 20 個)。
  • 使用 [封袋] 選項來重新取樣。
  • 每個節點指定大量的隨機分割 (例如,超過 1,000 個)。

有限的定型時間

如果定型集包含大量的執行個體,而且定型時間有限:

  • 使用較少的決策樹 (例如,5-10) 建立決策樹系。
  • 使用 [複寫] 選項來重新取樣。
  • 每個節點指定較少的隨機分割 (例如,少於 100 個)。

實作詳細資料

Microsoft Research 提供的這篇文章提供有關使用決策樹之集團方法的實用資訊。 從墩到樹狀結構,到樹系。

如需有關使用 [複寫 ] 選項定型程式的詳細 資訊,請參閱 電腦視覺和醫療影像分析的決策樹系。Criminisi 和 Shotton。Springer link 2013。

模組參數

Name 範圍 類型 預設 描述
重新取樣方法 任意 ResamplingMethod Bagging 選擇重新取樣方法
決策樹的數目 >= 1 整數 8 指定在集團中建立的決策樹個數
決策樹的最大深度 >= 1 整數 32 指定可建立的任何決策樹的最大深度
每個節點的隨機分割數目 >= 1 整數 128 指定每個節點產生的分割數目,以從中選取最佳的分割
每一個葉節點的樣本數下限 >= 1 整數 1 指定要產生葉節點所需的最少定型樣本數
類別特徵中允許未知值 任意 布林值 True 指出現有類別特徵的未知值是否可以對應至新的額外特徵

輸出

名稱 類型 描述
未定型的模型 ILearner 介面 未定型的二元分類模型

另請參閱

分類
決策樹系回歸
多元決策樹系
A-Z 模組清單