热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

scikitlearn中的随机森林模型

和决策树模型类似,scikit-learn中的随机森林模型也提供了基于普通DecisionTree的RandomForest学习器和基于随机化ExtraTree的Ex

和决策树模型类似,scikit-learn中的随机森林模型也提供了基于普通Decision Tree的Random Forest学习器和基于随机化Extra Tree的ExtraTrees学习器。
在这里插入图片描述
鉴于Decision Tree和Extra Tree差别甚小,本文以Random Forest为例进行介绍。

1. 模型的主要参数

在Random Forest中,存在两大类型的参数,分别为框架参数单棵决策树参数

其中,单棵决策树参数参照先前介绍的决策树模型,而框架参数包括:

模型参数Parameter含义RandomForestClassifierRandomForestRegressor
n_estimators子树数量随机森林中决策树的数量,其值越大模型的表现越优秀,但计算量也越大
bootstrap有无放回采样默认为True,即采用有放回式采样,从而可以不划分验证集,用这些袋外数据进行验证(见参数oob_score)。而在Extratrees中该值默认为False,即选取全量样本进行训练。
oob_score袋外评分即是否采用袋外数据进行模型的验证评估,默认为True。

2. 模型的主要方法

随机森林模型中涉及到众多子决策树的综合评估,所以其无法像普通Decision Tree模型一样提供apply方法API。

模型方法含义备注
fit模型训练支持Decison Tree中的sample_weight参数
predict预测结果返回综合各子决策树结果后的分类值或者回归值,分类值为比重最高的分类,回归值为叶子节点均值的平均值
predict_proba分类预测概率值仅在classifier中有该方法,返回各分类的概率值
predict_log_proba分类预测对数值仅在classifier中有该方法,返回各分类的对数概率值

3. 模型的主要属性


模型属性含义备注
estimators_估计器列表返回由n_estimators个子决策树构成的列表
classes_样本分类结果适用于classifer的单分类结果,返回各样本的分类预测值
n_classes_ 样本分类结果适用于classifer的多分类结果,返回各样本的多分类预测值
feature_importances_特征权重基于gini数得到各特征的特征重要性
oob_score_含义袋外数据的总的评估结果
oob_decision_function_含义每个袋外数据的评估结果
注意,相较于单棵决策树的feature_importances_,随机森林模型中的feature_importances_是对各子决策树结果的平均。

4. 模型的可视化

不同于单棵决策树可以进行有效的可视化,随机森林模型由于子学习器众多,因此无法进行有效的可视化。即使可以对其中的每棵决策树进行单独的可视化,但考虑到随机性的影响,意义并不大。

5. 模型的调参

(1)调整n_estimators参数
(2)按照决策树模型的调参顺序进行调整,详见决策树模型。


推荐阅读
  • 展开全部下面的代码是创建一个立方体Thisexamplescreatesanddisplaysasimplebox.#Thefirstlineloadstheinit_disp ... [详细]
  • Java容器中的compareto方法排序原理解析
    本文从源码解析Java容器中的compareto方法的排序原理,讲解了在使用数组存储数据时的限制以及存储效率的问题。同时提到了Redis的五大数据结构和list、set等知识点,回忆了作者大学时代的Java学习经历。文章以作者做的思维导图作为目录,展示了整个讲解过程。 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • 不同优化算法的比较分析及实验验证
    本文介绍了神经网络优化中常用的优化方法,包括学习率调整和梯度估计修正,并通过实验验证了不同优化算法的效果。实验结果表明,Adam算法在综合考虑学习率调整和梯度估计修正方面表现较好。该研究对于优化神经网络的训练过程具有指导意义。 ... [详细]
  • C++字符字符串处理及字符集编码方案
    本文介绍了C++中字符字符串处理的问题,并详细解释了字符集编码方案,包括UNICODE、Windows apps采用的UTF-16编码、ASCII、SBCS和DBCS编码方案。同时说明了ANSI C标准和Windows中的字符/字符串数据类型实现。文章还提到了在编译时需要定义UNICODE宏以支持unicode编码,否则将使用windows code page编译。最后,给出了相关的头文件和数据类型定义。 ... [详细]
  • 本文讨论了在openwrt-17.01版本中,mt7628设备上初始化启动时eth0的mac地址总是随机生成的问题。每次随机生成的eth0的mac地址都会写到/sys/class/net/eth0/address目录下,而openwrt-17.01原版的SDK会根据随机生成的eth0的mac地址再生成eth0.1、eth0.2等,生成后的mac地址会保存在/etc/config/network下。 ... [详细]
  • Android自定义控件绘图篇之Paint函数大汇总
    本文介绍了Android自定义控件绘图篇中的Paint函数大汇总,包括重置画笔、设置颜色、设置透明度、设置样式、设置宽度、设置抗锯齿等功能。通过学习这些函数,可以更好地掌握Paint的用法。 ... [详细]
  • 开源Keras Faster RCNN模型介绍及代码结构解析
    本文介绍了开源Keras Faster RCNN模型的环境需求和代码结构,包括FasterRCNN源码解析、RPN与classifier定义、data_generators.py文件的功能以及损失计算。同时提供了该模型的开源地址和安装所需的库。 ... [详细]
  • 在加载一个第三方厂商的dll文件时,提示“找不到指定模块,加载失败”。由于缺乏必要的技术支持,百思不得期间。后来发现一个有用的工具 ... [详细]
  • 本文介绍了闭包的定义和运转机制,重点解释了闭包如何能够接触外部函数的作用域中的变量。通过词法作用域的查找规则,闭包可以访问外部函数的作用域。同时还提到了闭包的作用和影响。 ... [详细]
  • YOLOv7基于自己的数据集从零构建模型完整训练、推理计算超详细教程
    本文介绍了关于人工智能、神经网络和深度学习的知识点,并提供了YOLOv7基于自己的数据集从零构建模型完整训练、推理计算的详细教程。文章还提到了郑州最低生活保障的话题。对于从事目标检测任务的人来说,YOLO是一个熟悉的模型。文章还提到了yolov4和yolov6的相关内容,以及选择模型的优化思路。 ... [详细]
  • Spring源码解密之默认标签的解析方式分析
    本文分析了Spring源码解密中默认标签的解析方式。通过对命名空间的判断,区分默认命名空间和自定义命名空间,并采用不同的解析方式。其中,bean标签的解析最为复杂和重要。 ... [详细]
  • 重入锁(ReentrantLock)学习及实现原理
    本文介绍了重入锁(ReentrantLock)的学习及实现原理。在学习synchronized的基础上,重入锁提供了更多的灵活性和功能。文章详细介绍了重入锁的特性、使用方法和实现原理,并提供了类图和测试代码供读者参考。重入锁支持重入和公平与非公平两种实现方式,通过对比和分析,读者可以更好地理解和应用重入锁。 ... [详细]
  • HTML5网页模板怎么加百度统计?
    本文介绍了如何在HTML5网页模板中加入百度统计,并对模板文件、css样式表、js插件库等内容进行了说明。同时还解答了关于HTML5网页模板的使用方法、表单提交、域名和空间的问题,并介绍了如何使用Visual Studio 2010创建HTML5模板。此外,还提到了使用Jquery编写美好的HTML5前端框架模板的方法,以及制作企业HTML5网站模板和支持HTML5的CMS。 ... [详细]
  • 从零基础到精通的前台学习路线
    随着互联网的发展,前台开发工程师成为市场上非常抢手的人才。本文介绍了从零基础到精通前台开发的学习路线,包括学习HTML、CSS、JavaScript等基础知识和常用工具的使用。通过循序渐进的学习,可以掌握前台开发的基本技能,并有能力找到一份月薪8000以上的工作。 ... [详细]
author-avatar
天生好客2602916983_826
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有