本单元将介绍以下主题:
- 解释随机森林
- 训练随机森林
- 随机森林的优缺点
解释随机森林
随机森林比决策树更加复杂解读。随机森林 包含使用随机噪声训练的决策树。因此, 对决策树结构做出判断。不过,我们可以用随机数字表示 生成森林模型。
解释随机森林的一种方法是直接训练和解释 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 万个节点模型的大小(以及推断速度) 有时也会导致问题。
- 随机森林无法学习和重复使用内部表示法。每个 (以及每个决策树的每个分支)必须重新学习 数据集模式。在某些数据集中,尤其是非表格数据集(例如图片、 这导致随机森林的结果比其他方法更差。