数据挖掘之随机森林算法实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
太原师范学院
实验报告
Experimentation Report of Taiyuan Normal University
系部计算机系年级大三课程大数据分析
姓名XXX 同组者日期
项目数据挖掘之随机森林算法
一、实验目的
1.了解随机森林。随机森林就是通过集成学习的思想将多棵树
集成的一种算法,它的基本单元是决策树,而它的本质属于
机器学习的一大分支——集成学习(Ensemble Learning)方
法。
2.掌握随机森林的相关知识,信息、熵、信息增益等的概念。
3.掌握随机森林中数据分析的几种基本方法,决策树算法,
CART算法等。
4.了解集成学习的定义和发展。
5.掌握随机森林的生成规则,随机森林的生成方法,随机森林
的特点等相关知识。
二、实验内容
1.结合老师上课所讲内容及课本知识,通过查找相关资料,
学习与决策树,随机森林相关的知识。
2.查找相关例题,深入理解随机森林的各种算法。
3.找一个数据集,利用随机森林的相关算法训练随机森林,
对样本进行判段并计算其判断的准确度。
三、实验仪器及平台
计算机一台MATLAB 2018a
四、实验原理
1.随机森林的基本概念:
通过集成学习的思想将多棵树集成的一种算法,它的基本单
元是决策树,而它的本质属于机器学习的一大分支——集成
学习(Ensemble Learning)方法。随机森林的名称中有两个
关键词,一个是“随机”,一个就是“森林”。“森林”我们
很好理解,一棵叫做树,那么成百上千棵就可以叫做森林了,
这样的比喻还是很贴切的,其实这也是随机森林的主要思想
--集成思想的体现。
2.决策树
2.1信息、熵、信息增益
这三个基本概念是决策树的根本,是决策树利用特征来分类
时,确定特征选取顺序的依据。
2.2决策树算法
决策树算法是一种逼近离散函数值的方法。它是一种典型的分类方法,首先对数据进行处理,利用归纳算法生成可
读的规则和决策树,然后使用决策对新数据进行分析。本质上决策树是通过一系列规则对数据进行分类的过程。
3.CART算法
Classification And Regression Tree,即分类回归树算法,简称CART算法,它是决策树的一种实现。
CART算法是一种二分递归分割技术,把当前样本划分为两个子样本,使得生成的每个非叶子结点都有两个分支,因此CART算法生成的决策树是结构简洁的二叉树。
由于CART算法构成的是一个二叉树,它在每一步的决策时只能是“是”或者“否”,即使一个feature有多个取值,也是把数据分为两部分。
4.决策树C4.5
一种分类算法,目标是将具有p维特征的n个样本分到c个类别中去。相当于做一个投影,c=f(n),将样本经过一种变换赋予一种类别标签。决策树为了达到这一目的,可以把分类的过程表示成一棵树,每次通过选择一个特征pi 来进行分叉。
5.随机森林的生成规则
(1)如果训练集大小为N,随机且有放回地从训练集中抽取N个训练样本,构成一个新的样本集(含重复的训练样本)。
(2)如果每个样本的特征维度为M ,指定一个常数m,且
m< M,随机地从M个特征中选取m个特征子集,每次树进行分裂时,从这m个特征中选择最优的,决策树成长期间m 的大小始终不变。(注意:此处采用无放回的选择)
(3)每棵树都尽可能最大程度地(完全地)生长,并且没有剪枝过程。
(将预测结果累加起来从而得到整个随机森林的预测果)通过之前的三步就可以得到一棵决策树,重复X次这样的过程那么就能得到X棵决策树。来一个测试样本就对它分类一遍,就得到X个分类结果。使用简单的投票机制(或用最终分类结果)来判别该样本的所属类。
注意:两类随机性的引入对随机森林的生成至关重要。
6.随机森林的简单实例分析
根据已有的训练集已经产生了对应的随机森林,随机森林如何利用某一个人的年龄(Age)、性别(Gender)、教育情况(Hinhest Educational Qualification)、工作领域(Industry)以及住宅地(Residence)共5个字段来预测他的收入层次。
表1 收入层次
随机森林中每一棵树都可以看做是一棵CART (分类回归
树),这里假设森林中有5棵CART树,总特征个数N=5,取
m=1 (m为建立决策树时,随机选取的特征个数,这里假设
每个CART树对应一个不同的特征)。(表格中的百分数指的
是在不同条件下的数据样本占对应类别的比例)
假如要预测的某个人的信息如下:
1. Age : 35 years ;
2. Gender : Male ;
3. Highest
Educational Qualification : Diploma holder; 4. Industry :Manufacturing;
5. Residence : Metro.
根据这五棵CART树的分类结果,可以针对此人的信息建立收入层次的分布情况:
最后,我们得出结论:这个人的收入层次70%是一等,24%是二等,6%是三等。所以我们得出结论:这个人的收入层次是一等(小于$40000)。
五、实验流程
1.寻找数据集。从UCI数据集网站下载了红葡萄酒品质的数据
集。
2.打开MATLAB 2018a,清空工作区变量。
3.导入数据集。把下载好的数据集导入进来。
4.按照写好的代码,利用数据集训练并生成随机森林,计算随
机森林判断样本类别的准确率。
六、随机森林实现代码
%清空环境变量
clear all
clc
warning off