其他主題

這個單元會探討下列主題:

  • 解讀隨機森林
  • 訓練天然森林
  • 隨機森林的優缺點

解讀隨機森林

隨機決定的森林比決策樹更複雜。隨機森林包含經過訓練的隨機雜訊決策。因此,要做出決策樹系的決策並不容易。不過,我們可以透過幾種方式解讀隨機森林模型。

解讀隨機森林的其中一種方法,就是透過 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 萬個節點的模型相當常見。隨機森林的大小 (以及推論速度) 有時有時可能會發生問題。
  • 隨機森林無法學習及重複使用內部表示法。每個決策樹狀結構 (以及每個決策樹狀結構中的每個分支) 都必須重新學習資料集模式。在某些資料集中,尤其是非表格的資料集 (例如圖片、文字),這會導致隨機森林比其他方法更差。