評估外評估
隨機樹係不需要驗證資料集,多數隨機的樹系會使用稱為「外包-評估」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 排列變數重要性。