决策树系列4:随机森林 (三个臭皮匠顶个诸葛亮)

2023-11-04

引言

想了解一个人的人品一般询问多个熟悉他的人,而不是只问一个人,毕竟一个人的评价难免有失偏颇。对于决策树也是一样,单一的决策树有时候会过拟合,有时候效果不太理想。而随机森林就是利用多棵决策树共同做决策。毕竟三个臭皮匠顶个诸葛亮嘛。


随机森林

随机森林主要利用了 bagging 的思想,也就是多个学习器并行学习,共同预测结果。

随机森林有多棵决策树,每棵决策树并行独立训练。预测时每个决策树都预测出一个结果,大家共同决策:

  • 对于分类问题:大家投票少数服从多数
    • 例如今天是否适合打球
  • 对于回归问题:大家求平均值
    • 例如北京房价多少钱一平米

如何建立随机森林

随机森林之所以叫"随机"森林,是因为建立时有两个随机。

  1. 每棵树的样本集随机
    • 为了保证训练数据的相对独立性
  2. 每棵树的属性集随机
    • 为了保证训练过程的相对独立性
样本集随机

假设原始样本集有 N 个样本,则每棵树从中有放回的选择 N 个样本作为自己的样本集,这样每个树的样本集仍然是 N 个。

但由于是有放回的,所以对于一棵决策树而言,有些样本被选择了多次,有些样本没有被选到。

既保证了每棵树样本集个数和分布的一致,又保证了每个树的样本集相对独立。

属性随机
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

决策树系列4:随机森林 (三个臭皮匠顶个诸葛亮) 的相关文章

随机推荐

  • 利用遗传算法求解函数极值

    1 利用遗传算法求解函数极值 例1 利用遗传算法求函数 f x 11sin 6x 7cos 5x x 的最大值点 解 在MATLAB中编制绘制函数曲线的代码 运行得到题中函数的曲线图如下图所示 从下图中可以看出 该函数有多个极值点 如果使用
  • 使用ES6编写一个超简单的搜索算法

    自从chrome和ES6的普及 JS的性能和科学算法也日新月异 这次我就分享一个超简单的搜索算法 let result appData map item gt Object assign item count arr map i gt it
  • gulp安装那些事

    在Gulp中 使用的是Nodejs中的 stream 流 首先获取到需要的stream 然后可以通过stream的pipe 方法把流导入到你想要的地方 比如Gulp的插件中 经过插件处理后的流又可以继续导入到其他插件中 当然也可以把流写入到
  • 【电磁场计算】磁偶极子在外磁场中的受力

    磁偶极子在外磁场中的受力 背景 受力推导 矢量展开 结论 背景 最近在总结电磁场计算公式的时候发现 关于磁偶极子受力的计算公式 在不同文献中的说明有点出入 在此特地写一篇博客澄清一下 受力推导 通过磁偶极子在外磁场中的磁势能求梯度得出其受力
  • python虚拟环境的概念,配置和操作(pycharm为例)

    一 虚拟环境的由来和概念 1 在PyCharm中创建python项目时 需要配置python的运行环境 除了使用系统现有环境以外 还可以创建虚拟环境 2 虚拟环境的创建是因为在实际开发中需要同期用到不同版本的python解释器 不同的第三方
  • 微信小程序之蓝牙 BLE 踩坑记录

    前言 前段时间接手了一个微信小程序的开发 主要使用了小程序在今年 3 月开放的蓝牙 API 此过程踩坑无数 特此记录一下跳坑过程 顺便开了另一个相关的小项目 欢迎 start 和 fork BLE MiniProgram API简介 微信小
  • vue 富文本vue-quill-editor 自定义字号大小和字体样式

    一 先创建一个名为font的 css文件 然后引入自定义css 字体样式大小 ql snow ql picker ql font ql picker label data value SimSun before ql snow ql pic
  • Unity修改开始画面

    下面 是我换好的开始画面 中间的是开始淡入淡出画面的第一个 后面的是背景 还有就是如果不要最后的背景的话 那么就是一个纯色的背景 颜色可调
  • 干货!情感计算理论基础必看知识!!

    产生背景 在较长一段时期内 情感一直位于认知科学研究者的视线以外 直到20世纪末期 情感作为认知过程重要组成部分的身份才得到了学术界的普遍认同 当代的认知科学家们把情感与知觉 学习 记忆 言语等经典认知过程相提并论 关于情感本身及情感与其他
  • 假设检验之单个总体均值检验(含Python代码)

    什么是假设检验 教材原话 很容易理解 假设检验原理图 均值假设检验原理 理解重点 单个总体均值假设检验步骤 分位数的理解 附教材 统计量规定 单个总体检验的扩展 分为三类情况讨论 单侧检验 重点 Python代码 含例题答案 def zte
  • ./gophish: /lib64/libc.so.6: version `GLIBC_2.28‘ not found (required by ./gophish)

    本文向大家介绍Centos系统在启动一些服务的时候会碰到的 lib64 libc so 6 version GLIBC 2 28 not found required by 的问题的解决方法 根据提示可知碰到此问题 是因为没有找到GLIBC
  • ubuntu安装SLAM所需的库的方法

    一 安装Eigen3 安装步骤 从Github下载eigen3 git clone https github com eigenteam eigen git mirror sudo apt get install libeigen3 dev
  • 背包问题专题-动态规划

    目录 01背包问题 完全背包 多重背包 多重背包的优化 分组背包 01背包问题 有 N 件物品和一个容量是 V 的背包 每件物品只能使用一次 第 i 件物品的体积是 vi 价值是 wi 求解将哪些物品装入背包 可使这些物品的总体积不超过背包
  • Linux用户及用户组管理命令

    http blog sina com cn s blog 857e9db00101l6u7 html Linux用户及用户组管理命令 Linux系统是一个多用户多任务的分时操作系统 任何一个要使用系统资源的用户 都必须首先向系统管理员申请一
  • TCP原理之:TCP数据传输

    TCP原理之 TCP数据传输 TCP Transmission Control Protocol 全称为传输控制协议 它工作在网络七层模型中的第四层 传输层 是一种面向连接的可靠的数据传递协议 对于IP和UDP协议 它们会在接收到数据后根据
  • 钉钉如何实现原笔迹手写签批

    钉钉目前实现了简单的手写签字功能 与无纸化办公要求相比还有差距 在一些专业领域 特别时电子政务领域 原笔迹手写是作为最核心的功能之一 为实现原笔迹签批 通过外部应用来实现是明智之举 下面我来介绍一款无纸化办公的神器 这款独立的办公产品名称为
  • Linux查看当前目录下文件名中包含指定字符的文件

    find type f name edaijia 结果 转载于 https www cnblogs com wt645631686 p 8837163 html
  • Js 对象转数组对象 for...in

    遇到一个情况是需要把对象转成数组对象 用的是for in 不知道各位大佬们有没有其它方法可以贴出来学习学习 话不多说 直接贴代码和效果 let obj 未完成 5 已完成 8 待确认 4 已取消 6 let arr for let i in
  • 点击按钮button触发修改div的iframe内容 (修改iframe的src内容)

    新建一个html文件 比如test html 之后将如下内容复制进文件 然后用浏览器打开该html文件即可 table style height 100 width 100 tr td td tr table
  • 决策树系列4:随机森林 (三个臭皮匠顶个诸葛亮)

    引言 想了解一个人的人品一般询问多个熟悉他的人 而不是只问一个人 毕竟一个人的评价难免有失偏颇 对于决策树也是一样 单一的决策树有时候会过拟合 有时候效果不太理想 而随机森林就是利用多棵决策树共同做决策 毕竟三个臭皮匠顶个诸葛亮嘛 随机森林