决策树(Decision Tree)
是一种非参数的有监督学习方法,它能够从一系列有特征和标签的数据中总结出决策规则,并用树状图的结构来呈现这些规则,以解决分类和回归问题。决策树算法容易理解,适用各种数据,在解决各种问题时都有良好表现,尤其是以树模型为核心的各种集成算法,在各个行业和领域都有广泛的应用。
我们来简单了解一下决策树是如何工作的。
一.树模型
1.决策树:从跟节点开始一步步走到叶子节点(决策)
2.所有的数据最终都会落到叶子结点,既可以做分类也可以做回归
如上图所示,有一家五口人,首先还是先来做分类,在分类任务当中,判断谁喜欢玩电脑游戏?这肯定是由数据当中的特征所决定的。假如现在有两个特征1.年龄age2.性别male,这两个特征都会对结果产生影响。如上右图构建的决策树,首先决策树是从上往下走,第一步通过判断age<15,Yes:有潜在愿意玩游戏的可能性,No:则无。第二部对性别male再一次判断,Yes:是男孩则判断为喜欢玩电脑游戏的,No:是女孩,则判断为不喜欢玩电脑游戏。这就是决策树解决问题的一个基本流程。
思考:为什么先判断年龄再判断性别?
决策树对于这个先后的顺序把控的非常严格。如果调换顺序最后的结果肯定是会发生变化的。————>先后顺序不能发生变化。
那为啥把年龄放第一个,性别放第二个?
这里做的分类任务,那得分两次去做。希望第一次去做的时候希望尽可能的都做对了,第二次做的时候再做细致一点的微调划分。就好似过滤一样,第一次要把绝大部分的东西过滤,第二次要把一些细致的东西过滤。在决策树当中也是遵循这一点。
这里选择的第一个特征(age)称:根节点,根节点的效果得是比较强的把它放在最前面,根节点可以进行一个大致的判断,接下来第二个判断来了,虽然没有根节点的能力强,但也能起到一个划分的作用,能帮助决策进一步的细化。
age<15相当于首发哈登,is male?相当于替补,那首发哈登能不先上场吗?
那凭什么哈登是首发?替补是替补?决策树就是要解决这样的问题。
树模型只能做分类?不!它是通用的,既可以做分类也可以做回归。树模型可以说是无所不能。树模型可以进行很多层面的扩展,随机森林,集成算法这些都是和树模型息息相关的,由基本的树模型一步一步演变出来的。
首先来了解树的组成:
根节点:第一个选择点
非叶子节点和分支:中间过程
叶子节点:最终的决策结果ÿ