其他主題

本單元將探討下列主題:

  • 解讀隨機森林
  • 訓練隨機樹系
  • 隨機森林的優缺點

解讀隨機樹系

相較於決策樹,Random Forest 的解讀方式較為複雜。隨機森林包含使用隨機雜訊訓練的決策樹。因此,要判斷決策樹結構就更困難。不過,我們可以透過幾種方式解讀隨機森林模型。

解讀隨機樹系的一種方法,就是使用 CART 演算法訓練及解讀決策樹。由於隨機森林和 CART 都是使用相同的核心演算法進行訓練,因此兩者對資料集的「全局觀點」相同。這個選項適用於簡單的資料集,可用於瞭解模型的整體解讀方式。

變數重要性是另一種可解釋性良好的方法。舉例來說,下表列出在人口普查資料集 (也稱為 Adult) 上訓練的隨機森林模型中,不同特徵的變數重要性排名。

表 8. 14 個不同特徵的變數重要性。

功能 分數總和 平均準確度降低 平均加權點擊率降幅 平均最小深度 節點數 PR-AUC 平均降幅 Num 做為根目錄
關係

4203592.6

0.0045

0.0172

4.970

57040

0.0093

1095

capital_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

4.969

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

race

168180.9

-0.0006

-0.0004

11.571

42262

-0.0031

0

如您所見,變數重要性的定義不同,其量表也會不同,因此可能會導致特徵排名有所差異。

來自模型結構的變數重要性 (例如上表中的總分數、平均最小深度、節點數和根節點數) 會以類似方式計算決策樹 (請參閱「購物車 | 變數重要性」一節) 和隨機森林。

變換變數的重要性 (例如上表中「{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 萬個的情況很常見。隨機森林的大小 (以及推論速度) 有時可能會造成問題。
  • 隨機森林無法學習及重複使用內部表示法。每個決策樹 (以及每個決策樹的每個分支) 都必須重新學習資料集模式。在某些資料集 (尤其是非表格資料集,例如圖片、文字) 中,這會導致隨機森林的結果比其他方法更差。