決策樹狀圖

決策樹模型由決策樹組成。決策樹的學習演算法 (例如隨機森林) 至少需要部分依賴於學習決策樹。

在本節課程中,您將研究一個小型的資料集範例,並瞭解單一決策樹如何訓練。在下一節中,您會瞭解怎麼結合決策樹來訓練決策樹系。

YDF 代碼

在 YDF 中,使用 CART 學習工具訓練個別決策樹狀圖模型:

# https://ydf.readthedocs.io/en/latest/py_api/CartLearner
import ydf
model = ydf.CartLearner(label="my_label").train(dataset)

模型

「決策樹狀圖」是一種模型,由一組在樹狀結構中按階層分類的「問題」組成。這類問題通常稱為「條件」、「分割」或「測試」。我們會在這個類別中使用「condition」一詞。每個非分葉節點皆含有一個條件,而每個分葉節點都包含預測。

植物樹通常會隨著底部的根部長長,但決策樹通常會以「根」 (第一個節點) 的形式呈現。

包含兩個條件和三個葉子的決策樹狀圖。第一個條件 (根層級) 為 num_legs >= 3;第二個條件為 num_eyes >= 3。三葉分別是企鵝、蜘蛛和狗

圖 1. 簡單的分類決策樹。綠色的圖例不屬於決策樹狀圖。

 

決策樹狀模型的推論結果,是根據條件將根範例 (位於頂端) 轉送至其中一個分葉節點 (位於底部)。觸及的分葉值即為決策樹的預測結果。一組已造訪的節點稱為「推論路徑」。例如,請考量下列特徵值:

num_legs num_eyes
4 2

預測結果會是 dog。推論路徑為:

  1. num_legs ≥ 3 → 是
  2. num_eyes ≥ 3 → 否

這張插圖與圖 1 相同,但這張插圖顯示跨兩個條件的推論路徑,在狗葉片中終止。

圖 2. 就範例而言,在分葉 *dog* 中形成的推論路徑 *{num_legs : 4, num_eyes : 2}*。

 

在上述範例中,決策樹的葉子含有分類預測;也就是說,每個葉子都含有一組可能物種的動物物種。

同樣地,決策樹狀圖也能將片段加上回歸預測 (數值) 標籤,藉此預測數值。舉例來說,下列決策樹會預測 0 到 10 之間的動物的可愛分數分數。

在樹葉中,每個分葉都含有不同的浮點數的決策樹。

圖 3. 進行數值預測的決策樹狀圖。