数据挖掘作业(二):使用随机森林 Random Forest 完成一个回归任务

题目

本次数据挖掘比赛来源于 kaggle,地址为 https://www.kaggle.com/c/dm2019springproj2/overview

这是一个回归任务:给定10万个数据样本作为训练集合,每个样本都有13个特征,要预测包含10915121个数据样本的测试集的标签(范围不限)。该项目要求我们设计并实现一个并行决策树算法,即随机森林Random Forest算法。

决策树

为了了解随机森林是怎么实现的,我们必须先弄明白决策树是怎么实现的。

决策树概念

决策树是一个树结构(可以是二叉树或非二叉树)。其每个非叶节点表示一个特征属性上的测试,每个分支代表这个特征属性在某个值域上的输出,而每个叶节点存放一个类别。使用决策树进行决策的过程就是从根节点开始,测试待分类项中相应的特征属性,并按照其值选择输出分支,直到到达叶子节点,将叶子节点存放的类别作为决策结果。如下图所示:

[外链图片转存失败(img-yJXmxkrc-1562850319991)(https://gitee.com/watchcat2k/pictures_base/raw/master/2019-07/2019-07-11-1.png)]

决策树构造

构造决策树的关键步骤是分裂属性。所谓分裂属性就是在某个节点处按照某一特征属性的不同划分构造不同的分支,其目标是让各个分裂子集尽可能地“纯”。尽可能“纯”就是尽量让一个分裂子集中待分类项属于同一类别。分裂属性分为三种不同的情况:

  1. 属性是离散值且不要求生成二叉决策树。此时用属性的每一个划分作为一个分支。
  2. 属性是离散值且要求生成二叉决策树。此时使用属性划分的一个子集进行测试,按照“属于此子集”和“不属于此子集”分成两个分支。
  3. 属性是连续值。此时确定一个值作为分裂点split_point,按照>split_point和<=split_point生成两个分支。

而下图的分裂方式就不够“纯”,它的左右叶子节点有重复的分裂属性 <=30>30

[外链图片

  • 2
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值