随机森林是一种集成学习方法,通过构建多棵决策树并将它们的预测结果组合起来,以提高预测准确性和模型的鲁棒性。
基本概念
- 集成学习:通过组合多个弱学习器(决策树)来创建一个强学习器
- Bagging:通过自助采样法为每棵树创建不同的训练子集
- 特征随机性:在每棵树的每个节点分裂时,只考虑特征的一个随机子集
- 降低方差:通过平均多棵树的预测结果来减少过拟合
执行流程
- 从原始数据集中通过自助采样法抽取多个样本子集
- 为每个样本子集构建一棵决策树
- 在每棵树的每个节点分裂时,随机选择特征子集进行考虑
- 将所有树的预测结果进行组合(分类任务使用投票,回归任务使用平均)
特点
- 对过拟合有很强的抵抗能力(但也可能造成过拟合)
- 能够处理高维特征空间
- 不需要特征缩放
- 能够估计特征重要性
- 对缺失值有一定的鲁棒性

Code
1 | if (!require(randomForest)) install.packages("randomForest") |
1 | setosa versicolor virginica |
