机器学习-决策树1基础知识准备

目录

决策树的原理:

树模型:

目录

决策树的原理:

树模型:

决策树的训练与测试

熵的作用

信息增益:

 信息增益率

GINI系数:

连续值怎么办(年龄身高体重等)?

决策树的原理:

决策树的原理类似于一个叫做二十个问题的游戏:参与游戏的一方在脑海里想某个事物,其他参与者向他提问题,只允许提20个问题,问题的答案也只能用对或者错来回答。问问题的人通过推断分解,逐步缩小待猜测事物的范围。用户通过输入一系列数据,然后给出游戏的答案。

树模型:

决策树:从根节点开始一步步走到叶子节点。

在决策树中,根节点的选择是一门技术活。例如,在分类那一类人的网瘾更大中,第一个节点选择是否大于15岁比较好,还是选择是否是男生比较好呢?那肯定是选择是否大于15岁比较好。在筛选的时候,肯定是能筛出更多的分类是最好的。就像净水器。一开始就把那些大的石子粗砂滤掉,最后再来过滤小的细沙以及有毒的细小物质。所以,根节点的选择是非常有必要的,那我们决策树的建立,就是来解决如何确定谁是根节点的。

根节点:第一个选择点

非叶子节点与分支:中间过程

叶子节点:最终的决策结果

  • 决策树的训练与测试

训练阶段:从给定的训练集构造出一棵树,例如下面的例子中,我如何确定我的age要小于15?小于18行不行?小于30行不行?在训练的过程中我们就是来做这件事的。

测试阶段:根据构造出来的树模型从上到下走一遍就可以了。

机器学习-决策树1基础知识准备_第1张图片     判断网瘾程度

  • 熵的作用

在建树的过程中,我们根节点应该选择哪个特征呢?肯定是哪个特征分类的效果好,我们选哪个。那么我们要怎样衡量一个分类效果是好还是坏呢?这就是熵的作用了。

熵:熵是表示随机变量不确定性的量度。

在中学阶段学化学的时候我们有学到过这个词。一个物质如果它的熵值大,那么它的内部就越混乱。ex.杂货市场里面什么都有——混乱,专卖店里只卖一个牌子——稳定。

公式:

一个例子: 

机器学习-决策树1基础知识准备_第2张图片

 上图中,分类小红圈和蓝三角有A、B两种方案,以A方案的某个特征来分类时,得到的结果如图所示,并未完全分类干净;而以B方案的某个特征来分类时,小红圈和蓝三角被完全分开了。所以以B方案的特征作为第一个判断的根节点比较好,那么这个时候,B分类完的结果的熵就比较小,A分类完的结果的熵就比较大。

注意:在分类任务中,我们希望节点分支后数据类别的熵值小,分类的效果才好。

在算法中,很多时候我们可以借助数学公式来简便计算,在以后的学习当中我们会经常用到对数函数:在A的方案中,左边分类的结果里取出红圈的概率是75%,在B的方案中,左边取出红圈的概率是100%,体现到公式里,概率越大,东西越纯,越接近0,熵值越小。最终的熵值是每个类别对应相加就是最终的结果。

  • 信息增益:

信息增益表示特征X使得类Y的不确定性减少的程度。(分类后的专一性,希望分类后的结果是同类在一起)

也就是说,在分类之前,熵值为c,分类之后,A方案的熵值为a,B方案的熵值为b,AB两个方案的熵值跟原来相比,都减小了,但是B方案的熵值更小,所以最终选B方案,这也就是信息增益是如何去做的。

ex.

机器学习-决策树1基础知识准备_第3张图片

原始的信息熵为:

 

 8/17是好瓜占总的概率,9/17是坏瓜占总的概率

机器学习-决策树1基础知识准备_第4张图片

机器学习-决策树1基础知识准备_第5张图片

由于纹理的信息增益最大,所以将纹理作为第一个根节点,以此类推,从纹理的分支开始,继续划分节点,哪个信息增益最大,选择哪个作为第二个节点。 

 机器学习-决策树1基础知识准备_第6张图片

 机器学习-决策树1基础知识准备_第7张图片

 PS:信息增益对可取值数目较多的属性有所偏好。

机器学习-决策树1基础知识准备_第8张图片机器学习-决策树1基础知识准备_第9张图片

例如图中黄色的那一列,以他为分支后的每一个节点里的类别里个数都是1,那么它就是分类的很完全,熵值为一,所有的熵值加起来仍然是0,意味着这个分类效果贼好,要把它当作根节点。但是问题就出在这里,我们知道编号能知道最后是好瓜还是坏瓜吗?显然是不能的,这就是信息增益的弊端,当里面的种类非常多的时候,信息增益就没办法很好的处理编号这种特征了。

  •  信息增益率

编号的每一个概率是1/17,所以信息熵为机器学习-决策树1基础知识准备_第10张图片所以结果为log(1/17),结果非常大的一个数,信息增益率=信息增益/自身分类后的熵值,信息增益大,但是分类后的熵值更大,所以相除之后信息增益率就会变小,于是就解决了信息增益的问题。

 机器学习-决策树1基础知识准备_第11张图片

  • GINI系数:

机器学习-决策树1基础知识准备_第12张图片

 和熵的衡量标准类似,gini系数越小效果越好,只是计算方式不一样。

在候选属性集合A中,选择那个使得划分后基尼指数最小的属性作为最有划分的属性。

机器学习-决策树1基础知识准备_第13张图片

  • 连续值怎么办(年龄身高体重等)?

1.首先将数据进行排序(利用贪婪算法)   

下面是体重的信息,判断适不适合打篮球:

60 70 75 85 90 95 100 120 125 220

2.切分(利用二分法)

在哪里切分呢?首先先在60、70中间切一刀,这时数据分为60和70 75 85 90 95 100 120 125 220 两部分,分别计算这两部分的熵值,跟原来的进行比较,计算一下信息增益;接着在70和75中间切一刀,数据分为60 70 和75 85 90 95 100 120 125 220两部分,再分别计算两部分的熵值,计算出信息增益,以此类推,总共有9个分界点。最终选出在哪里切分效果最好,选为切分点。这个过程就是连续值数据离散化的过程。

你可能感兴趣的:(决策树,python)