Decision tree

1.目的:衡量好问题

decision tree 是一个决策的模型:就是不断设置二元问题,回答是与否,然后像树一样不断分叉下去,最后无论是什么样的情况,都能找到对应的一个决策答案。

上面说的,学习决策树,就是学习一系列if/else问题,使我们能以最快的速度得到正确答案。

那么,这个if/else问题应该设为什么?换而言之,衡量这个设的问题的好的标准到底是什么?→找出对目标变量影响的最大的一个。→对目标变量来说信息最大的一个。→对目标变量来说,最能提取出共性的一个问题 → 这个问题提出来后,分类成的两堆是最有共性的。eg.分开苹果和香蕉,那么我提出的这个问题是否是圆形?就将这一堆水果直接分成了香蕉和苹果。但是我提出一个问题,是否是甜的?那么肯定分出的两堆都是各有苹果各有香蕉。

我们把这个全分为香蕉或者全分为苹果的评判的结果称为,pure.纯的。到pure的时候,我们就可以停止预测了。因为到现在答案非常明确,要不是苹果要不是香蕉。

问题是,提出一个好的问题是很难的,不那么好的问题得到的结果就不会那么纯。但是我们为了提出一个好的问题,而要付出很多的时间精力也是不值当的,不如一堆苹果里夹着一个香蕉,这种分类结果我也可以接受。也就是说,纯度不高我也能接受。

2. 用纯度。纯度的表达:

2.1 entropy熵

无论如何,要如何准确衡量这个纯度呢?毕竟我们是为了和机器进行交流的,需要很明确的数学表达。大概思路是,我们去看看杂质含量有多少,杂质越多就越不纯。

在这里插入图片描述
解释一下这个式子,举个例子:
在这里插入图片描述
这个方法,其实就是 -sum(权重×杂质)。杂质的衡量用log2(),带符号是因为小于一之后log是负数,想把它变正。就是加权之后,H越大代表杂质越多,越不纯。那么这个问题提的就不太好。

2.2 Gini entropy

还有一个方法,Gini:
在这里插入图片描述
这个就是简单点儿,把原来衡量杂质的log变成了P概率。然后就不需要符号了,更简单一点儿。

2.1 Information Gini(IG)

  • information gain
    在这里插入图片描述
    这个计算的是信息增益。就是说我采取了一个分类方法,然后我去衡量采取了这个方法前后,情况有没有变得更好。
    这个情况,指的是 有序的状态 = 低熵 = 纯度更高。

好比你要收拾你的屋子,你希望房子越干净越好,这就意味着相似的东西都在一个地方。厨房用品都在厨房,洗浴用品都在浴室。房子变得很有序,每次你想要什么东西的时候就可以直接拿到。熵,可以理解为无序状态。熵越高越混乱,那么低熵就以为着有序。

想想最开始说得例子,我们希望二叉树分类结果是使最后的节点是纯的,即低熵。

如果我们不进行分类,那么最开始的原数据肯定是高熵的,再我们整理分类后就可以变得低熵了。衡量我们整理得好不好的方法,就是看熵的变化程度。上面的这个式子就是在描述这样一个事情。

H(D)是说我原本的数据集D的熵H是怎么样的
H(D|A) 是常见的条件概率,就是说在我实行了A这一个举动之后,数据集D的熵H是什么样的。

H(D|A)这个怎么求呢?
简单来说就是采取了这个方法之后,加权平均我的无序熵是什么。

网上有蛮多的例子,主要是没有找到我之前看到的那个很好的图表,所以就不粘贴了。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值