我是谁?梦幻
![ab4d8d8b112d0293b9f944f3c0f83cf5.png](https://i-blog.csdnimg.cn/blog_migrate/af11f29363f63a17347172f5aee8bb5f.jpeg)
1 概述
集成算法:考虑多个评估器的建模结果,汇总之后得到一个综合的结果,以此来获取比单个模型更好的回归或分类表现。
有三类集成算法:装袋法(Bagging),提升法(Boosting)和stacking
装袋法的核心思想是构建多个相互独立的评估器,然后对其预测进行平均或多数表决原则来决定集成评估器的结果,装袋法的代表模型就是随机森林;提升法中,基评估器是相关的,是按顺序一一构建的。其核心思想是结合弱评估器的力量一次次对难以评估的样本进行预测,从而构成一个强评估器。提升法的代表模型有Adaboost和梯度提升树。
sklearn.ensemble
![a8400556aaf26e2048be3706db799743.png](https://i-blog.csdnimg.cn/blog_migrate/a7a52d0ca18787b12753df1e02340a21.jpeg)
一半以上都是树的集成模型。
2 随机森林分类
(1)控制基评估器的参数
![a0a6593f9a51f0b73a443d462b8fb57e.png](https://i-blog.csdnimg.cn/blog_migrate/7db77ccbdc2268ab4f99028ceefa47ef.jpeg)
基本和决策树参数一致
(2)n_estimators
基评估器的数量,这个参数对随机森林模型的精确性影响是单调的,n_estimators越大,模型的效果往往越好。但有一定的限度,到达一定精确度后一般会不再上升产生波动。
![8746ef31dbc01522bea28398e132f913.png](https://i-blog.csdnimg.cn/blog_migrate/8b4c695dbe7a4d9f023927a74e537ea1.jpeg)
交叉验证
![ecfee8322419a46d2ce71107b202859f.png](https://i-blog.csdnimg.cn/blog_migrate/c04d9f9a202a9f9b1127d2f395206f14.jpeg)
10次交叉验证结果
![v2-a3a77509130ca290e2daf06b6e24a210_b.jpg](http://img-01.proxy.5ce.com/view/image?&type=2&guid=67b64f08-ad2c-eb11-8da9-e4434bdf6706&url=https://pic1.zhimg.com/v2-a3a77509130ca290e2daf06b6e24a210_b.jpg)
学习曲线
![c072e38f58a326d8331973a97ed2f735.png](https://i-blog.csdnimg.cn/blog_migrate/b760e36701e066c428673a0f8c589ff6.jpeg)
random_state生成固定的森林,但是森林里面的每一棵树是不同的。
![eac2899158c1cbfaf3c13da72aca848c.png](https://i-blog.csdnimg.cn/blog_migrate/bc73f4e04042b9ddea733d0dfff7cf9f.png)
![cea2f33b79d9991f45e7f0f727c19f1a.png](https://i-blog.csdnimg.cn/blog_migrate/a5056b31d16d8054a034d9bbd8542dca.png)
bootstrap & oob_score有放回的随机抽样,自助法:bootstrap=True表示有放回的随机抽样技术,一般都设置为True。oob_score袋外数据作为测试集,oob_score为True时,训练时需要输入所有数据。
![3b9e8124b3bbef9c027c466d803828d9.png](https://i-blog.csdnimg.cn/blog_migrate/2dc3c824626e0b918b8ec7ee9745147e.png)
重要属性和接口
参数:n_estimators(树的数量),random_state(森林的随机性),boostrap(是否是有放回的抽样)和oob_score(是否使用袋外数据为测试集)。
属性:.estimators_(每棵决策树具体的参数设置),.oob_score_(袋外数据预测结果), .feature_importances_ (属性的重要性) 。
接口:apply(每棵树分到的叶子节点的索引), fit(训练), predict(预测,输出预测结果)predict_proba(预测,输出预测为每一类的概率)、score(输出准确率)
![b1ac9e72377a6177f27c957d5f1f8652.png](https://i-blog.csdnimg.cn/blog_migrate/b21717ca60657cca688b5e0323e83411.jpeg)
![077d50b28c1e73c32fdf61354728181d.png](https://i-blog.csdnimg.cn/blog_migrate/01be935600e0fec28f669c13a03f196f.jpeg)