評估外評估

隨機樹係不需要驗證資料集,多數隨機的樹系會使用稱為「外包-評估」out-of-bag-evaluation的技術 (out-of-bag-evaluation「評估」out-of-bag-evaluation) 來評估模型的品質。OOB 評估會將訓練集視為跨驗證組合的測試集。

如先前所述,隨機樹系中的每個決策樹,通常是根據約 67% 的訓練樣本進行訓練。因此,每個決策樹都看不到約 33% 的訓練樣本。OOB 評估的核心概念如下:

  • 評估訓練集的隨機樹系。
  • 每個範例只使用訓練期間未看到範例的決策樹。

下表說明以 6 個樣本訓練而成的隨機樹系的 OOB 評估作業。(是的,這與「Bagging」(匯總) 區段中的資料表相同。表格顯示在評估 OOB 評估期間,系統使用哪個決策樹狀圖。

表 7. OOB 評估:數字代表指定範例訓練期間使用特定訓練範例的次數

訓練範例 OOB 評估範例
#1 #2 #3 #4 #5 第六
原始資料集 1 1 1 1 1 1
決策樹 1 1 1 0 2 1 1 #3
決策樹 2 3 0 1 0 2 0 第 2、第 4 和第 6
決策樹 3 0 1 3 1 0 1 第 1 和第 5 名

如表 7 所示,訓練範例 1 的 OOB 預測結果會以決策樹 #3 進行計算 (因為決策樹 #1 和 #2 使用這個範例進行訓練)。實際上,在合理的大小資料集和決策樹狀結構中,所有範例都具有 OOB 預測。

YDF 代碼
在 YDF 中,如果模型是以 compute_oob_performances=True 訓練,訓練記錄中就會提供 OOB 評估。

OOB 評估也有助於計算隨機樹系模型的排列變數重要性。請記得,「變數重要性」一文指出,變異變數重要性會在這個變數重組時測量模型品質下降情形,藉此評估變數的重要性。隨機樹系「OOB 排列變數重要性」是使用 OOB 評估作業計算出的排列變數重要性。

YDF 代碼
在 YDF 中,如果使用 compute_oob_variable_importances=True 訓練模型,訓練記錄中就會顯示 OOB 排列變數重要性。