其他主题

本单元将介绍以下主题:

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

解释随机森林

随机森林比决策树更加复杂解读。随机森林 包含使用随机噪声训练的决策树。因此, 对决策树结构做出判断。不过,我们可以用随机数字表示 生成森林模型。

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

变量重要性是另一种良好的可解释性 方法。例如,下表对 使用模型训练的随机森林模型的不同特征, 人口普查数据集(也包括 称为“成人”

<ph type="x-smartling-placeholder"></ph> 表 8.14 个不同特征的可变重要性。

功能 得分总和 准确率平均降幅 AUC 的平均降幅 平均最小深度 节点数 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

工类

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)进行计算, 以类似方式针对决策树进行计算(请参阅“购物车 | 变量重要性”部分) 随机森林。

排列变量重要性(例如,{accuracy, auc, pr-auc})是模型无关度量,可以基于 包含验证数据集的任何机器学习模型。在随机森林中 然而,您可以不使用验证数据集, 和分包评估的变量重要性。

SHAP (SHapley Additive exPlanations) 是一种与模型无关的方法,用于 解释单个预测或模型解释。(请参阅 可解释的机器学习 对模型无关解释的介绍。)SHAP 是 计算开销通常很小, 大幅加快决策速度 因此,这是解释决策森林的好方法。

用法示例

在上一课中,我们基于一个小型数据集训练了 CART 决策树 调用 tfdf.keras.CartModel。要训练随机森林模型, 只需将 tfdf.keras.CartModel 替换为 tfdf.keras.RandomForestModel 即可:

model = tfdf.keras.RandomForestModel()
model.fit(tf_train_dataset)

优缺点

本部分简要概述了随机森林的优缺点。

优点:

  • 与决策树一样,随机森林以原生方式 分类特征,并且通常不需要特征预处理。
  • 由于决策树是独立的,因此可以使用 并行运行。因此,您可以快速训练随机森林。
  • 随机森林具有默认参数,通常可以提供很好的结果。调优 这些参数通常对模型没有什么影响。

缺点:

  • 由于决策树未经剪枝,因此它们可能很大。更多模型 通常有超过 100 万个节点模型的大小(以及推断速度) 有时也会导致问题。
  • 随机森林无法学习和重复使用内部表示法。每个 (以及每个决策树的每个分支)必须重新学习 数据集模式。在某些数据集中,尤其是非表格数据集(例如图片、 这导致随机森林的结果比其他方法更差。