决策树是什么
决策树是最简单的机器学习算法,它易于实现,可解释性强,完全符合人类的直观思维,有着广泛的应用。决策树到底是什么?简单地讲,决策树是一棵二叉或多叉树(如果你对树的概念都不清楚,请先去学习数据结构课程),它对数据的属性进行判断,得到分类或回归结果。预测时,在树的内部节点处用某一属性值(特征向量的某一分量)进行判断,根据判断结果决定进入哪个分支节点,直到到达叶子节点处,得到分类或回归结果。这是一种基于if-then-else规则的有监督学习算法,决策树的这些规则通过训练得到,而不是人工制定的。
一个简单的例子
上面的说法过于抽象,下面来看一个实际的例子。银行要用机器学习算法来确定是否给客户发放贷款,为此需要考察客户的年收入,是否有房产这两个指标。领导安排你实现这个算法,你想到了最简单的线性模型,很快就完成了这个任务。
模型的决策边界: -20 + 3×\times× 年收入 +20×\times×是否有房 = 0
决策规则为:
-20 + 3×\times×年收入 +20×\times×是否有房 >= 0 可贷款
-20 + 3×\times×年收入 +20×\times×是否有房 < 0 不可贷款
你拿着精心设计出来的模型去跟领导讲,但是发现没人听得懂你在干嘛,领导认为你根本不懂得怎么评估客户。
这次碰壁之后,你冥思苦想,给出了另外一个方案。风控业务员是怎么判断是否给用户贷款的?他们的做法很简单:
1.首先判断客户的年收入指标。如果大于20万,可以贷款;否则继续判断。
2.然后判断客户是否有房产。如果有房产,可以贷款;否则不能贷款。
如果用图形表示这个决策过程,就是一棵决策树。决策过程从树的根节点开始,在内部节点处需要做判断,直到到达一个叶子节点处,得到决策结果。决策树由一系列分层嵌套的判定规则组成,是一个递归的结构。这个例子的决策树如下图所示: