决策树与随机森林及其在SparkMllib中的使用

一.概念

决策树和随机森林:决策树和随机森林都是非线性有监督的分类模型。

决策树是一种树形结构,树内部每个节点表示一个属性上的测试,每个分支代表一个测试输出,每个叶子节点代表一个分类类别。通过训练数据构建决策树,可以对未知数据进行分类。

  • 根节点:最顶层的分类条件
  • 叶节点:代表每一个类别号
  • 中间节点:中间分类条件
  • 分支:代表每一个条件的输出

随机森林是由多个决策树组成,随机森林中每一棵决策树之间没有关联,在得到一个随机森林后,当有新的样本进入的时候,随机森林中的每一棵决策树分别进行判断,分析出该样本属于哪一类,然后最后看哪一类被选择最多,就预测该样本属于这一类。

一个合理的决策树可以描述为:决策树的高度相对低而且树的两边能将数据分类的更彻底。

而想要构建一个最优的决策树,和根节点和每一个中间节点的分类条件的选择密不可分,好的分类条件可以让类别一样的数据在树的一边,从而减少数的高度,因此如何在这些节点上如何选择分类条件成为了一个问题。

决策树的生成原则:

数据不断分裂的递归过程,每一次分裂,尽可能让类别一样的数据在树的一边,当树的叶子节点的数据都是一类的时候,则停止分类。这样分类的数据,每个节点两边的数据不同,将相同的数据分类到树的一侧,能将数据分类的更纯粹。减少树的高度和训练决策树的迭代次数。

注意:训练决策树的数据集要离散化,不然有可能造成训练出来的树有些节点的分支特别多,容易造成过拟合。

二.如何选择分类条件

1.信息熵

信息熵是用来量化信息信息量的指标,信息熵越大,则信息越混乱,信息熵越小,则信息越纯粹。熵的定义如下

14534869-16460036b4ee50ed.png
信息熵公式

其中,n代表当前类别有多少类别代表当前类别中某一类别的概率。

下面举一个例子看一下信息熵的使用

14534869-62bfbc5d8eebdd31.png
image.png

由上图可知,最终"是否购买电脑"类别的信息熵如下:


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值