基本概念
决策树,是一类经典的机器学习方法。
顾名思义,决策树是一棵树,树形结构与线性模型不同,他目的更明确在分类而非回归。而决策,则指向一系列的评价指标。
以人做决策为例,购买一个物品的最直接决策是:他是否满足需求,如果满足,就购买,不满足,就不买。这是一个二分类问题,但是当多个物品都满足需求,我们就会提出更高的要求,它好看吗?它便宜吗?它质量好吗
此时,我们遇到了新的问题,每个物品都可以满足一定的需求,但是很难满足所有的需求,他可能便宜且好用,但是他很丑,另外一个好看又好用,但是不便宜,还有一个便宜又好看,但是不好用。
那么,考虑一下,如何做出决定?我们会暗暗的将外观、质量、价格三项做出一个优先级,根据优先级进行排序。
这时候,一颗决策树就已经形成,下图为机器学习原书中的决策树基本流程伪代码。
划分选择
人进行一次决策当然是比较容易的,我们可以根据我们的实际情况和历史经验下手,但是如何让计算机完成一次决策呢?
这就要对上面的伪代码进行分析,首先,当所有的节点属于一类时无需划分;某一类属性为空或者取值相同时,无法划分;当节点包含的样本集为空时,不能划分(代码2-7行)
而第8-第16行,则是根据最优划分属性,对不同的样本节点进行归类,形成一棵决策树,那么很明显,最重要的内容,就是第8行:从 A A A中选择最优划分属性 a ∗ a_* a∗。
尚未完成
由于打卡时间接近,我先打卡,后续内容待补充。