二元決策樹系元件

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

使用此元件來根據決策樹系演算法建立機器學習模型。

決策樹系是快速、監督的集團模型。 如果您想要預測的目標最多有兩個結果,此元件是不錯的選擇。

了解決策樹系

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

有許多方式可以建立個別的模型並合併為集團。 決策樹系這項特定的執行方式是建立多個決策樹,並針對最常見的輸出類別進行投票。 投票是在集團模型中產生結果的其中一種常見方法。

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

決策樹在分類工作方面通常有許多優點:

  • 可擷取非線性決策界限。
  • 您可以使用大量資料進行訓練和預測,因為決策樹在計算和記憶體使用量中都非常高效。
  • 特徵選取已整合在訓練和分類流程中。
  • 樹狀結構可以容納雜訊資料和許多特徵。
  • 決策樹是非參數化的模型,因此可以處理各種散發的資料。

不過,簡單決策樹可能過度擬合資料,且通用性比樹狀結構集團更低。

如需詳細資訊,請參閱決策樹系

如何設定

  1. 二元決策樹系元件新增至您在 Azure Machine Learning 中的管線,並開啟元件的 [屬性] 窗格。

    您可以在 [Machine Learning] 下找到該元件。 展開 [初始化],接著展開 [分類]。

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

    • 封袋:封袋又稱為「啟動程序彙總」。 在這個方法中,每個樹狀結構都會在新的範例中成長,透過取代來隨機取樣原始資料集進行建立,直到資料集與原始資料集的大小相等為止。

      模型的輸出會依據投票合併,投票是彙總的一種形式。 分類決策樹系中的每個樹狀結構,都會輸出未正規化的標籤頻率長條圖。 彙總是加總這些長條圖,並正規化以取得每個標籤的「機率」。 如此一來,具有高預測信賴度的樹狀結構在集團的最終決策中會有較高的加權。

      如需詳細資訊,請參閱啟動程式彙總的維基百科條目。

    • 複寫:在複寫中,每個樹狀結構都會以完全相同的輸入資料進行訓練。 每個樹狀節點所使用的分割述詞判斷會保持隨機,使樹狀結構具有差異。

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

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

    • 參數範圍:如果不確定最佳參數,您可以使用調整模型超參數元件來尋找最佳參數。 您提供某個範圍的值,定型模組會逐一查看多個設定組合,以決定可產生最佳結果的值組合。

  4. 針對 [決策樹的數目],請輸入集團內可建立的決策樹數目上限。 藉由建立多個決策樹,您或許能夠有較佳的涵蓋範圍,但是定型時間會拉長。

    注意

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

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

  6. 針對 [每個分葉節點的樣本數下限],請指出在樹狀中建立任何終端節點 (分葉) 所需的最低案例數目。

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

  7. 選取 [類別特徵中允許未知值] 選項,可以在訓練或驗證集中建立未知值的群組。 此模型對於已知值可能較不精確,但針對新的 (未知) 值可提供更佳的預測。

    如果您取消選取此選項,則模型只會接受訓練資料中包含的值。

  8. 附加標記資料集,並訓練模型:

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

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

    注意

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

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

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

結果

定型完成後:

  • 若要儲存已定型模型的快照集,請在定型模型元件的右側面板中選取 [輸出] 索引標籤。 選取 [註冊資料集] 圖示,將模型儲存為可重複使用的元件。

  • 若要使用模型來評分,請將評分模型元件新增至管線。

後續步驟

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