本单元将考查以下主题:
- 解读随机森林
- 训练随机森林
- 随机森林的优缺点
解读随机森林
随机森林比决策树更复杂。随机森林包含用随机噪声训练的决策树。因此,更难对决策树结构做出判断。但是,我们可以通过几种方式解读随机的森林模型。
解释随机森林的一种方法是使用 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 万个的模型很常见。随机森林的大小(以及推断速度)有时可能是一个问题。
- 随机森林无法学习和重复使用内部表示法。每个决策树(以及每个决策树的每个分支)都必须重新学习数据集模式。在某些数据集(尤其是图像、数据集)中,随机森林会导致结果比其他方法更糟糕。