其他主题

本单元将考查以下主题:

  • 解读随机森林
  • 训练随机森林
  • 随机森林的优缺点

解读随机森林

随机森林比决策树更复杂。随机森林包含用随机噪声训练的决策树。因此,更难对决策树结构做出判断。但是,我们可以通过几种方式解读随机的森林模型。

解释随机森林的一种方法是使用 CART 算法训练和解读决策树。由于随机森林和 CART 都使用同一核心算法进行训练,因此它们“共享同一全局视图”。此选项非常适合简单的数据集以及了解模型的整体解释。

可变性重要性是另一种出色的可解释性方法。例如,对于基于人口普查数据集(也称为成人)训练的随机森林模型,下表对不同特征的变量重要性进行了排名。

表 8. 14 种不同特征的重要变化。

特征 总分 准确性平均降低 曲线下面积的平均降幅 平均深度下限 节点数 PR-AUC 平均减少 数字作为根
关系

4203592.6

0.0045

0.0172 美元

4,970

57040

0.0093

1095

资本获得

/dfp_premium/answer/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

职业

/dfp_premium/answer/1939409.3

0.0063

-0.0040 美元

5,017

221935

-0.0060

62

教育版 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

小时_每周

1333976.3

0.0030

0.0007

6.393

206526

-0.0031

20

资本损失

866863

0.0060

0.0020

8,076

58531

0.0118

1

工人阶层

/dfp_premium/answer/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

sex

/dfp_premium/answer/226049.3

0.0002

0.0002

10.911

37754

-0.0011

13

比赛

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 万个的模型很常见。随机森林的大小(以及推断速度)有时可能是一个问题。
  • 随机森林无法学习和重复使用内部表示法。每个决策树(以及每个决策树的每个分支)都必须重新学习数据集模式。在某些数据集(尤其是图像、数据集)中,随机森林会导致结果比其他方法更糟糕。