Random Forest算法简介

转自JoinQuant量化课堂
一、相关概念

分类器:分类器就是给定一个样本的数据,判定这个样本属于哪个类别的算法。例如在股票涨跌预测中,我们认为前一天的交易量和收盘价对于第二天的涨跌是有影响的,那么分类器就是通过样本的交易量和收盘价预测第二天的涨跌情况的算法。

分裂:在决策树的训练过程中,需要一次次的将训练数据集分裂成两个子数据集,这个过程就叫做分裂。

特征:在分类问题中,输入到分类器中的数据叫做特征。以上面的股票涨跌预测问题为例,特征就是前一天的交易量和收盘价。

待选特征:在决策树的构建过程中,需要按照一定的次序从全部的特征中选取特征。待选特征就是在目前的步骤之前还没有被选择的特征的集合。例如,全部的特征是 ABCDE,第一步的时候,待选特征就是ABCDE,第一步选择了C,那么第二步的时候,待选特征就是ABDE。

分裂特征:接待选特征的定义,每一次选取的特征就是分裂特征,例如,在上面的例子中,第一步的分裂特征就是C。因为选出的这些特征将数据集分成了一个个不相交的部分,所以叫它们分裂特征。

二、决策树的构建过程

要说随机森林,必须先讲决策树。决策树是一种基本的分类器,一般是将特征分为两类(决策树也可以用来回归,不过本文中暂且不表)。构建好的决策树呈树形结构,可以认为是if-then规则的集合,主要优点是模型具有可读性,分类速度快。

我们用选择量化工具的过程形象的展示一下决策树的构建。假设现在要选择一个优秀的量化工具来帮助我们更好的炒股,怎么选呢?
第一步:看看工具提供的数据是不是非常全面,数据不全面就不用。
第二步:看看工具提供的API是不是好用,API不好用就不用。
第三步:看看工具的回测过程是不是靠谱,不靠谱的回测出来的策略也不敢用啊。
第四步:看看工具支不支持模拟交易,光回测只是能让你判断策略在历史上有用没有,正式运行前起码需要一个模拟盘吧。

这样,通过将“数据是否全面”,“API是否易用”,“回测是否靠谱”,“是否支持模拟交易”将市场上的量化工具贴上两个标签,“使用”和“不使用”。
上面就是一个决策树的构建,逻辑可以用下图表示:
这里写图片描述

在上图中,绿颜色框中的“数据”“API”“回测”“模拟交易”就是这个决策树中的特征。如果特征的顺序不同,同样的数据集构建出的决策树也可能不同。特征的顺序分别是“数据”“API”“回测”“模拟交易”。如果我们选取特征的顺序分别是“数据”“模拟交易”“API”“回测”,那么构建的决策树就完全不同了。

可以看到,决策树的主要工作,就是选取特征对数据集进行划分,最后把数据贴上两类不同的标签。如何选取最好的特征呢?还用上面选择量化工具的例子:假设现在市场上有100个量化工具作为训练数据集,这些量化工具已经被贴上了“可用”和“不可用”的标签。

我们首先尝试通过“API是否易用”将数据集分为两类;发现有90个量化工具的API是好用的,10个量化工具的API是不好用的。而这90个量化工具中,被贴上“可以使用”标签的占了40个,“不可以使用”标签的占了50个,那么,通过“API是否易用”对于数据的分类效果并不是特别好。因为,给你一个新的量化工具,即使它的API是易用的,你还是不能很好贴上“使用”的标签。
这里写图片描述

再假设,同样的100个量化工具,通过“是否支持模拟交易”可以将数据集分为两类,其中一类有40个量化工具数据,这40个量化工具都支持模拟交易,都最终被贴上了“使用”的标签,另一类有60个量化工具,都不支持模拟交易,也都最终被贴上了“不使用”的标签。如果一个新的量化工具支持模拟交易,你就能判断这个量化工具是可以使用。我们认为,通过“是否支持模拟交易”对于数据的分类效果就很好。

在现实应用中,数据集往往不能达到上述“是否支持模拟交易”的分类效果。所以我们用不同的准则衡量特征的贡献程度。主流准则的列举3个:ID3算法(J. Ross Quinlan于1986年提出),采用信息增益最大的特征;C4.5算法(J. Ross Quinlan于1993年提出)采用信息增益比选择特征;CART算法(Breiman等人于1984年提出)利用基尼指数最小化准则进行特征选择。

(如果想进行更深一步的学习,可以参考《统计学习方法》或者相关博文进行更一步的学习。未来的量化课堂也会涉及这方面的内容。)

三、随机森林的构建过程

决策树相当于一个大师,通过自己在数据集中学到的知识对于新的数据进行分类。但是俗话说得好,一个诸葛亮,玩不过三个臭皮匠。随机森林就是希望构建多个臭皮匠,希望最终的分类效果能够超过单个大师的一种算法。

那随机森林具体如何构建呢?有两个方面:数据的随机性选取,以及待选特征的随机选取。

数据的随机选取:
首先,从原始的数据集中采取有放回的抽样,构造子数据集,子数据集的数据量是和原始数据集相同的。不同子数据集的元素可以重复,同一个子数据集中的元素也可以重复。第二,利用子数据集来构建子决策树,将这个数据放到每个子决策树中,每个子决策树输出一个结果。最后,如果有了新的数据需要通过随机森林得到分类结果,就可以通过对子决策树的判断结果的投票,得到随机森林的输出结果了。如下图,假设随机森林中有3棵子决策树,2棵子树的分类结果是A类,1棵子树的分类结果是B类,那么随机森林的分类结果就是A类。
这里写图片描述

待选特征的随机选取:
与数据集的随机选取类似,随机森林中的子树的每一个分裂过程并未用到所有的待选特征,而是从所有的待选特征中随机选取一定的特征,之后再在随机选取的特征中选取最优的特征。这样能够使得随机森林中的决策树都能够彼此不同,提升系统的多样性,从而提升分类性能。

下图中,蓝色的方块代表所有可以被选择的特征,也就是目前的待选特征。黄色的方块是分裂特征。左边是一棵决策树的特征选取过程,通过在待选特征中选取最优的分裂特征(别忘了前文提到的ID3算法,C4.5算法,CART算法等等),完成分裂。右边是一个随机森林中的子树的特征选取过程。
这里写图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/456881.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

简单交互

控件有着各种事件,例如被点击的时候,我们可以在事件里面添加动作和命令,让控件可以和用户交互,这里我们演示一个简单的交互:当用户点击文字控件的时候,它开始动画向下移动然后动画旋转,效果入下…

综合素质计算机考点,教师资格证小学综合素质考点及考试真题:信息处理能力...

小学综合素质考点及考试真题——信息处理能力大纲要求:具有运用工具书检索信息、资料的能力。具有运用网络检索、交流信息的能力。具有对信息进行筛选、分类、存储和应用的能力。具有运用教育测量知识进行数据分析与处理的能力。具有根据教育教学的需要,…

API文档自动生成

本文主要讲述自动化API文档生成——apidoc。网上有几个篇文章都只是介绍apidoc的,具体怎么在自己的项目中使用以及与其他配合使用都是没介绍的。最近开始玩服务器,了解到了有Windows与Linux之间共享文件的方法,就是samba。然后具体和apidoc结…

机器学习笔记之SVM(SVR)算法

学过SVM后,看了那么多别人的文章,是时候自己总结一波了。权当写的笔记供自己日后再回顾吧。 PS:结合自己在工作过程中(我这里用SVR做股票预测)用到的知识来写的,不会很全面,若有些知识这里没提及读者可自行…

[转]基于图的机器学习技术:谷歌众多产品和服务背后的智能

近来机器学习领域实现了很多重大的进展,这些进展让计算机系统具备了解决复杂的真实世界问题的能力。其中,谷歌的机器学习又是怎样的 ? 近来机器学习领域实现了很多重大的进展,这些进展让计算机系统具备了解决复杂的真实世界问题的…

安装mysql后在安装目录下只有my-default.ini没有my.ini文件 解决-The MySQL server is running with the --secure-file-priv

WIN10 系统环境 安装mysql后在安装目录下只有my-default.ini没有my.ini文件 。 mysql报错 ---------- The MySQL server is running with the --secure-file-priv option so it cannot execute this statement -------- 但是更改或想要查找配置文件就需要如下操作 在 安装…

loewe测试软件,实测Loewe三角包 最轻的小包最贴心的设计

原标题:实测Loewe三角包 最轻的小包最贴心的设计导语:每周一期的“包治百病”又跟大家见面来啦!“包治百病”全方位评测包包的容量、重量、背法、在不同身高妹子身上的效果、各种惊人的小细节以及可能存在的问题,为有意购买这些包…

hadoop集群的搭建(分布式安装)

集群 计算机集群是一种计算机系统,他通过一组松散集成的计算机软件和硬件连接起来高度紧密地协同完成计算工作。集群系统中的单个计算机通常称为节点,通常通过局域网连接。集群技术的特点:1、通过多台计算机完成同一个工作。达到更高的效率 2…

解决:Error establishing a database connection阿里云修改数据库密码

今天闲来无事想把所有的二级密码改成一致的,所以就把阿里云的mysql数据库的密码改了,结果,打开页面报错了,下边的截图是我问题解决后,重新复现的。如果修复这个问题后wordpress登录页面白板,此时不要着急&a…

机器学习各算法思想(极简版)

读到的一篇不错的文章,拿来和大家分享一下。 转自–头条公众号–极数蜗牛 (1)线性回归 回归最早是由高尔顿研究子女身高与父母身高遗传关系提出的,发现子女平均身高总是向中心回归而得名。其实“一分辛苦一分才”中就蕴含了线性…

斯坦福计算机录取难吗,申请斯坦福究竟有多难? 什么样条件的人才能被斯坦福录取?斯坦福大学直播!...

原标题:申请斯坦福究竟有多难? 什么样条件的人才能被斯坦福录取?斯坦福大学直播!申请斯坦福究竟有多难? 什么样条件的人才能被斯坦福录取?斯坦福大学直播!西海岸小哈佛之称的斯坦福大学&#xf…

解决:building 'twisted.test.raiser' extension安装scrapy报错

解决:building twisted.test.raiser extension error: Microsoft Visual C 14.0 is required. Get it with "Microsoft Visual C Build Tools": https://visualstudio.microsoft.com/downloads/ 安装scrapy报错,在Twisted安装部分 解决方案…

Linux配置网络出现Eroor adding default gateway的解决方案

最近在学习有关大数据方面的东西,刚开始要搭建模拟的虚拟机集群。用的是Minimal CentOS6.7版本Linux下的系统。因为我要为各个虚拟机设置静态IP,所以就参考网上博客说的进行如下操作: 一、安装完系统后先配置网络: cd /etc/sysconfig/netwo…

揭秘8大自媒体平台注册方法,通过率百分之九十

写在前面:准备材料:手机号,邮箱,手持照,辅助材料(非必选项),邀请码(非必选项)。辅助材料万能公式:方法①新浪博客16级博客发8篇相关的文章,昵称、描述、头像都与所注册自媒体号对应&…

计算机表格怎么求面积,在wps表格中怎么把数据生成面积图?

面积图强调数量随时间而变化的程度,适用于显示有限数量的若干组数据。可以利用面积图来分析销售的数据。在这里我用3种品牌的手提电脑在 2010年四个季度的销售量作为数据源,使用“堆积面积图”来显示各种手提电脑销售量所占大小并随时间变化的趋势。那么…

机器学习如何解决问题

原文 http://tech.meituan.com/mt-mlinaction-how-to-ml.html 前言 前言 随着大数据时代的到来,机器学习成为解决问题的一种重要且关键的工具。不管是工业界还是学术界,机器学习都是一个炙手可热的方向,但是学术界和工业界对机器学习的研究…

Linux中python2和python3的pip设置 及清华安装源

启动python2,我们可以直接在命令行输入:python2 启动python3,我们可以在命令行输入:python或者python3. 但是pip没有设置的话,在命令行输入 pip --version 或者 pip2 --version,指向的都是python2. 现在…

java 循环 基本类型

1.基本if选择结构 格式&#xff1a;if&#xff08;布尔表达式&#xff09;{ 表达式结果为true&#xff0c;则执行此代码块 } 例&#xff1a;if(week <5 ){ System.out.println(“上班”) } 2.if else结构 格式&#xff1a;if(布尔表达式){ 表达式结果为true&#xff0c;则执…

计算机最佳参数,对使用者来说,学会计算机性能参数提取,给出性能评价很重要...

对计算机进行系统信息提取&#xff0c;并且给出性能评价&#xff0c;可以这样做先看思维导图&#xff1a;对计算机进行系统信息提取&#xff0c;并且给出性能评价&#xff0c;可以通过软件测试实现&#xff01;一、 关于硬件健康的问题&#xff0c;避免买到二手配件。硬盘的使用…

word如何在任意页开始添加页码

第一步&#xff0c;将光标定位到需要插入页码的前一页末尾。就是说&#xff0c;如果你想从第二页开始添加页码&#xff0c;那么你就将光标定位到第一页末尾&#xff0c;如图&#xff1a; 然后按照图中标出的提示&#xff0c;选择“页面布局”选项卡&#xff0c;点击“分隔符…