博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
随机森林(分类与回归)
阅读量:5936 次
发布时间:2019-06-19

本文共 1128 字,大约阅读时间需要 3 分钟。

随机森林(可用于分类和回归)

 

随机森林主要应用于回归和分类。

随机森林在运算量没有显著提高的前提下提高了预测精度。

 

1、简介

随机森林由多棵决策树构成,且森林中的每一棵决策树之间没有关联,模型的最终输出由森林中的每一棵决策树共同决定。

处理分类问题时,对于测试样本,森林中每棵决策树会给出最终类别,最后综合考虑森林内每一棵决策树的输出类别,以

投票方式来决定测试样本的类别;处理回归问题时,则以每棵决策树输出的均值为最终结果。

 

2、随机森林的随机性

体现在两个方面:

Ⅰ:样本的随机性,从训练集中随机抽取一定数量的样本,作为每颗决策树的根节点样本;

Ⅱ:属性的随机性,在建立每颗决策树时,随机抽取一定数量的候选属性,从中选择最合适的属性作为分裂节点。

 

3、随机森林算法框架

 

 具体步骤:

(1)从训练集中随机抽取一定数量的样本,作为每棵树的根节点样本;

(2)在建立决策树时,随机抽取一定数量的候选属性,从中选择最合适属性作为分裂节点;(决策树构造见《》)

(3)建立好随机森林以后,对于测试样本,进入每一颗决策树进行类型输出或回归输出;若是分类问题,以投票的方式输出最终类别,若是回归问题,

    每一颗决策树输出的均值作为最终结果。

 

在建立每一棵决策树的过程中,有两点需要注意:采样完全分裂

首先是两个随机采样的过程,随机森林对输入的数据要进行行、列的采样。对于行采样,采用有放回的方式,也就是在采样得到的样本集合中,可能有重复的样本。

假设输入样本为N个,那么采样的样本也为N个。这样使得在训练的时候,每一棵树的输入样本都不是全部的样本,使得相对不容易出现过拟合over-fitting。

然后进行列采样,从M个feature中,选择m个(m << M)。之后就是对采样之后的数据使用完全分裂的方式建立出决策树,这样决策树的某一个叶子节点要么是无

法继续分裂的,要么里面的所有样本的都是指向的同一个分类。

一般很多的决策树算法都一个重要的步骤 – 剪枝,但是这里不这样干,由于之前的两个随机采样的过程保证了随机性,所以就算不剪枝,也不会出现over-fitting。

每一棵决策树就是一个精通于某一个窄领域的专家(因为我们从M个feature中选择m让每一棵决策树进行学习),这样在随机森林中就有了很多个精通不同领域的专家,

对一个新的问题(新的输入数据),可以用不同的角度去看待它,最终由各个专家,投票得到结果。

 

4、可优化的参数

决策树算法中可优化的参数有:最小叶节点样本数、剪枝方式等。

随机森林中可优化的参数有:森林中决策树的棵数。

 

转载于:https://www.cnblogs.com/ahu-lichang/p/7392566.html

你可能感兴趣的文章
java常用数据类型使用Day008
查看>>
Nmap用法实例
查看>>
C语言第六次作业--数据类型
查看>>
sersync简介与测试报告
查看>>
CentOS关闭防火墙
查看>>
Oracle回收站 使用
查看>>
MySQL--3约束和修改数据表总结
查看>>
Hadoop学习(1)-- 入门介绍
查看>>
8.5 SQL Server 代理
查看>>
hive 的一个小问题
查看>>
冒泡排序+二分法查找
查看>>
easyUI的下拉框combobox与树tree联动
查看>>
uboot学习之一-----源码配置
查看>>
verify验证插件的详解
查看>>
Ok335xS U-Boot 进度条原理跟踪
查看>>
PHP操作Mysql
查看>>
换零钞——第九届蓝桥杯C语言B组(国赛)第一题
查看>>
linux远程传输文件至windows
查看>>
(转)让文字讲好banner的故事
查看>>
java学习之租车系统
查看>>