先插一嘴子这个bagging 和boosting的区别哦:
whylovemyself:【机器学习】 【期末复习】Bagging VS Boostingzhuanlan.zhihu.com上回说了决策树,这次就来进森林了~~
一堆独立(毕竟bagging旗下的 相关但也不完全归属)的决策树构成了随机森林。所有结果那个分类被cue最多,谁就是随机森林的“林”(遴)选之子。
* 与bagging的区别: RF选择输入样本属木县公的次数(可能存在一个样本被cue好几次,或者有的惨一点的一次都没被入选),而且特征选择并不是全部,通过部分选择特征训练得到分类器; bagging 选择比输入样本数目少的样本,但是是要用全部特征得到分类器。
随机森林建模过程
- 训练集&测试集的敲定
- 节点分割(属性)
- 迭代优化
- 建立森林
随机抽样的方法就是bootstrap
但是模型的参数可以有很多种train.control() 的随机方法(有坑到时候填)
5. 随机森林的好处
a. 无需降维,无需PCA; 且可按重要程度筛选因子。
b. 特征之间的相互关系清晰。
c. 不会过拟合
d. 训练速度快,可平行运算
e. 不平衡数据有处理办法。见(https://zhuanlan.zhihu.com/p/269532020 里的ROSE 办法)
f. 整体准确率比决策树高
6. 缺点也得说说:
a. 早已很大的分类有过拟合。
b. 取值划分很多的属性会对随机森林产生误导。(权值可信度)
Reference:
一文看懂随机森林 - Random Forest(4个实现步骤+10个优缺点)easyai.tech![9b6ca2ded0039eff61f63b66550b108e.png](https://i-blog.csdnimg.cn/blog_migrate/818796625ea8167973986c75d1f30436.png)
7. 应用方向: 分类,聚类,回归,异常值检测。
8. 参数估计:
设每个模型 m个因子。对于m的取值一般为:
回归:m=总因子数/3;
分类:√总因子数
R 语言实现:
set grid m = 2:P