一、默认参数

打印随机森林学习器的默认参数配置:

1、bootstrap=True

2、criterion='mse'

3、max_depth=None

4、max_features='auto'

5、max_leaf_nodes=None

6、min_impurity_decrease=0.0

7、min_impurity_split=None

8、min_samples_leaf=1

9、min_samples_split=2

10、min_weight_fraction_leaf=0.0

11、n_estimators=10

12、n_jobs=1

13、oob_score=False

14、random_state=None

15、verbose=0

16、warm_start=False

二、重要参数

1、系统参数

(1)random_state(随机发生器种子数)

如果是int,random_state是随机数发生器使用的种子; 如果是RandomState实例,random_state是随机数生成器; 如果为None,则随机数生成器是np.random使用的RandomState实例。

2、决策树参数

(1)max_features(最大特征数)

划分特征时的最多特征数,可以是多种类型的值。默认为“None”,即划分时考虑所有特征数。

其他值:“log2”——最多考虑log2N个特征;“sqrt”/“auto”——最多考虑sqrt(N)个特征;int(n)——可填任意大于1且不大于特征数量的整数。

一般而言,当样本特征数较少(<50)时,使用默认配置即可。

 

(2)max_depth(决策树最大深度)

默认为“None”,即决策树建立子树时不限制子树的深度。在样本量较少或特征数较少的情况下可以使用默认配置。否则,推荐取值10-100之间。

(3)min_samples_split(内部结点再划分所需最小样本数)

当某节点的样本数少于min_samples_split时,不会继续再尝试选择最优特征来进行划分。 默认为2,如果样本量不大,不需要管这个值。如果样本量数量级非常大,则推荐增大该值。

(4)min_samples_leaf(叶结点最少样本数)

当某叶结点数目小于样本数,则和兄弟结点一起被剪枝。默认为1。当样本量不大时,可以使用默认配置。否则推荐增大该值。

(5)min_weight_fraction_leaf(叶结点最小样本权重和)

该值限制了叶结点所有样本权重和的最小值,如果小于该值,则会和兄弟节点一起被剪枝。 默认为0,即不考虑权重问题。当样本存在较多缺失值,或分类树样本的分布类别偏差很大时,将引入样本权重,此时需要考虑该值。

(6)max_leaf_nodes(最大叶结点数)

该值能够防止过拟合,默认为“None”,即不限制最大叶结点数。但特征不多时,使用默认配置即可。否则需要设置该值,具体数值通过交叉验证获得。

(7)min_impurity_split(结点划分最小不纯度)

该值限制了决策树的增长,当某结点的不纯度小于阈值,则该结点不再生成子结点,一般推荐使用默认值1e-7。

3、Bagging框架参数

Bagging框架中各弱学习器之间没有依赖,因此随机森林的调参难度低于梯度提升树。

(1)n_estimators(弱学习器最大迭代次数)

即弱学习器的个数。一般而言,该值太小易发生欠拟合,太大则成本增加且效果不明显。一般选取适中的数值,默认为10。

 

(2)oob_score (是否采用袋外样本评价模型)

默认为False。推荐使用True,因为这样可以反映模型拟合后的泛化能力。

 

(3)criterion(特征评价标准)

分类和回归模型的损失函数不同:分类模型默认为基尼指数,也可选择信息增益;回归模型默认为均方差(mse),也可选择绝对值差(mae)。一般而言选择默认配置即可。

三、调参

一般采用网格搜索法优化超参数组合。这里将调参方法简单归纳为三条:1、分块调参(不同框架参数分开调参);2、一次调参不超过三个参数;3、逐步缩小参数范围。这里以n_estimators参数为例(省略数据和模型的导入):

#导入网格搜索模块
from sklearn.model_selection import GridSearchCV
rfr_best = RandomForestRegressor()
params ={'n_estimators':range(10,20,1)}
gs = GridSearchCV(rfr_best, params, cv=4)
gs.fit(X_train,Y_train)#查验优化后的超参数配置
print(gs.best_score_)
print(gs.best_params_)

随机森林模型调参方法相关推荐

  1. python 随机森林调参_python的随机森林模型调参

    一.一般的模型调参原则 1.调参前提:模型调参其实是没有定论,需要根据不同的数据集和不同的模型去调.但是有一些调参的思想是有规律可循的,首先我们可以知道,模型不准确只有两种情况:一是过拟合,而是欠拟合 ...

  2. 【个人学习用】利用随机森林学习调参总结

    按照这个博主写的进行了学习,在文章的后半段开始有调参的过程,前半段为随机森林的基础知识.https://www.jianshu.com/p/8a2e4e2872c8 数据集:sklearn自带的乳腺癌 ...

  3. sklearn中对随机森林进行调参

    文章目录 一.闲言碎语 二.参数问题 三.结论 四.参考文献 一.闲言碎语 具体的方法可参考我的这篇文章python+sklearn进行交叉验证(使用交叉验证对数据划分,模型评估和参数估计,使用决策树 ...

  4. 大数据预测实战-随机森林预测实战(四)-模型调参

    之前对比分析的主要是数据和特征层面,还有另一部分非常重要的工作等着大家去做,就是模型调参问题,在实验的最后,看一下对于树模型来说,应当如何进行参数调节. 调参是机器学习必经的一步,很多方法和经验并不是 ...

  5. 随机森林调参_机器学习-模型调参利器 gridSearchCV(网格搜索)

    在机器学习模型中,需要人工选择的参数称为超参数.比如随机森林中决策树的个数,人工神经网络模型中隐藏层层数和每层的节点个数,正则项中常数大小等等,他们都需要事先指定.超参数选择不恰当,就会出现欠拟合或者 ...

  6. 手把手系列—风控模型的调参方法和实际应用

    序言: 大数据时代的风控体系必有模型部分的参与,用策略贯穿整个风控体系,以数据为驱动,模型一定是标配内容.于是在模型的建设上,如何精细化地输出一套有效的模型,就是在精细化管理上非常重要的一个差异点.不 ...

  7. python模型调参三种方法

    1.机器学习常用三种调参方法:网格搜索.随机搜索和贝叶斯调参 2.网格搜索是遍历式搜索方法,效率较低,资源消耗多 3.网格搜索和随机搜索都没有考虑前面搜索的先验知识 4.贝叶斯调参的原理是贝叶斯优化, ...

  8. ML之XGBoost:利用XGBoost算法对波士顿数据集回归预测(模型调参【2种方法,ShuffleSplit+GridSearchCV、TimeSeriesSplitGSCV】、模型评估)

    ML之XGBoost:利用XGBoost算法对波士顿数据集回归预测(模型调参[2种方法,ShuffleSplit+GridSearchCV.TimeSeriesSplitGSCV].模型评估) 目录 ...

  9. 机器学习笔记 十九:由浅入深的随机森林模型之分类

    随机森林学习内容 1. 集成学习 2.sklearn中的集成算法 2.1 sklearn中的集成算法模块ensemble 2.2 RandomForestClassifier 2.2.1 参数 2.2 ...

  10. 使用贝叶斯优化工具实践XGBoost回归模型调参

    0. 关于调参 0.1. 超参数 在机器学习的上下文中,超参数(hyper parameters)是在开始学习过程之前设置值的参数,而不是通过训练得到的参数数据.通常情况下,需要对超参数进行优化,给学 ...

最新文章

  1. GDI+:自定义控件时如何使用Region来输出特定区域
  2. 奥拉星插件flash下载手机版下载安装_终于等到你!安卓微信7.0.13内测版发布 支持夜间模式 附下载地址!...
  3. 【java基础】——java枚举类型基本介绍
  4. C++ 预处理与宏相关编程(#,##等等)
  5. 学生成绩abcde怎样划分_同等教育下,学生成绩差距较大,怎样避免学习中的“马太效应”?...
  6. Java动态代理二——CGLIB动态代理应用
  7. UNIAPP中IOS和安卓应用热更新和整包更新app的方法
  8. PX4 ---- Mixer
  9. 此程序被组策略阻止,有关详细信息请联系管理员
  10. 阿里云开启关闭防火墙
  11. 网络中的“大禹”—防水墙是怎么工作的?
  12. 概率熵物质混乱能量耗散信息熵
  13. hyperledger fabric 2.3.3 环境搭建教程
  14. Java8的其它 新特性(笔记二十四)
  15. 在windows平台搭建基于nginx的直播服务器
  16. 确定电气间隙和爬电距离
  17. printf()函数
  18. 微信每日定时推送消息新闻到群聊或朋友
  19. everbox邀请码和麦库邀请码
  20. 偏序集的Dilworth定理学习 (转载)

热门文章

  1. hadoop保姆级安装教程
  2. 小学三年级计算机认识键盘教案,第8课 认识键盘大家庭 教案
  3. python win32api messagebox_如何在Python中使用Win32 API?
  4. 最好用AI抠图的软件,方便你,我,他。
  5. PDF文件有密码怎么解除?
  6. java 邮件接收端程序_java邮件收发功能实现代码
  7. C#租房管理系统(课程设计)
  8. EasyUI后台管理系统
  9. CorelDRAWX4的VBA插件开发(十一)弹窗界面和一键导出图片
  10. 在VS中安装nuget离线包nupkg文件