這個單元會探討下列主題:
- 解讀隨機森林
- 訓練天然森林
- 隨機森林的優缺點
解讀隨機森林
隨機決定的森林比決策樹更複雜。隨機森林包含經過訓練的隨機雜訊決策。因此,要做出決策樹系的決策並不容易。不過,我們可以透過幾種方式解讀隨機森林模型。
解讀隨機森林的其中一種方法,就是透過 CART 演算法訓練和解讀決策樹。由於隨機森林和 CART 都以相同的核心演算法訓練,因此可以「共用相同的資料集全域檢視畫面」。這個選項適用於簡單的資料集,以及瞭解模型的整體解釋。
變數重要性是另一個良好的可解釋性方法。例如,下表會根據 Census 資料集 (又稱為「成人」) 訓練的隨機森林模型,對不同特徵的變數重要性進行排名。
表 8. 有 14 項不同特徵可變動的重要性。
功能 | 總分 | 準確率降低 | AUC 平均減少 | 平均最小深度 | 節點數量 | PR-AUC 的平均值下降 | 以 Root 的名義閱讀 |
---|---|---|---|---|---|---|---|
關係 | 4203592.6 |
0.0045 |
0.0172 |
歐元 |
57040 |
0.0093 |
1095 |
money_gain | 3363045.1 |
0.0199 |
0.0194 |
2.852 |
56468 |
0.0655 |
457 |
Marital_status | 3128996.3 |
0.0018 |
0.0230 |
6.633 |
52391 |
0.0107 |
750 |
年齡 | 2520658.8 |
0.0065 |
0.0074 |
歐元 |
356784 |
0.0033 |
200 |
教育 | 2015905.4 |
0.0018 |
-0.0080。 |
5.266 |
115751 |
-0.0129。 |
205 |
職業 | 1939409.3 |
0.0063 |
-0.0040。 |
5.017 |
221935 |
-0.0060。 |
62 |
Education_num | 1673648.4 |
0.0023 |
-0.0066。 |
6.009 |
58303 |
-0.0080。 |
197 |
Fnlwgt | 1564189.0 |
-0.0002。 |
-0.0038。 |
9.969 |
431987 |
-0.0049。 |
0 |
hours_per_week | 1333976.3 |
0.0030 |
0.0007 |
6.393 |
206526 |
-0.0031。 |
20 |
Capital_loss | 866863.8 |
0.0060 |
0.0020 |
8.076 |
58531 |
0.0118 |
1 |
Workclass | 644208.4 |
0.0025 |
-0.0019。 |
9.898 |
132196 |
-0.0023。 |
0 |
native_country | 538841.2 |
0.0001 |
-0.0016。 |
9.434 |
67211 |
-0.0058 |
0 |
性愛 | 226049.3 |
0.0002 |
0.0002 |
10.911 |
37754 |
-0.0011。 |
13 |
競爭 | 168180.9 |
-0.0006 |
-0.0004 |
11.571 |
42262 |
-0.0031。 |
0 |
如您所見,變數的重要性定義不同,縮放比例也可能不同。
來自模型結構的變數重要性 (例如總和、平均最小值、num 節點和 num 是根層級的 Root 權限) 對 樹狀圖 也是 樹狀圖的類似方式 (請參閱「購物車 | 變數重要性」)。
排列變數重要性 (例如上表中的 {accuracy, auc, pr-auc} 是降低) 是模型通用的評估方式,可在任何具備驗證資料集的機器學習模型中進行計算。不過,使用隨機森林時,與其使用驗證資料集,不如使用袋外的評估作業來計算排列變數的重要性。
SHAP (SHapley Additive ExPlanations) 是一種模型通用的方法,用於說明個別預測或模型層級的解讀。(請參閱 Molnar 的「可解釋機器學習」一文,瞭解模型集中分析的說明)。SHAP 的運算成本通常相當高昂,但決策者可以大幅加快速度,因此這是解讀決策森林的絕佳方式。
使用範例
在上一堂課中,我們呼叫 tfdf.keras.CartModel
來訓練小型資料集中的 CART 決策樹狀圖。如要訓練隨機森林模型,只要將 tfdf.keras.CartModel
替換為 tfdf.keras.RandomForestModel
即可:
model = tfdf.keras.RandomForestModel()
model.fit(tf_train_dataset)
優缺點
本節提供隨機森林的優缺點。
優點:
- 如同決策樹狀結構,隨機森林支援原生數值和類別特徵,且通常不需要特徵預先處理。
- 由於決策樹狀結構各自獨立,因此您可以平行訓練隨機森林。因此您可以快速訓練隨機森林。
- 隨機森林有預設參數,通常能提供出色的成效。調整這些參數通常對模型幾乎沒有影響。
缺點:
- 因為決策樹狀結構不會被裁切,超過 100 萬個節點的模型相當常見。隨機森林的大小 (以及推論速度) 有時有時可能會發生問題。
- 隨機森林無法學習及重複使用內部表示法。每個決策樹狀結構 (以及每個決策樹狀結構中的每個分支) 都必須重新學習資料集模式。在某些資料集中,尤其是非表格的資料集 (例如圖片、文字),這會導致隨機森林比其他方法更差。