开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第30天,点击查看活动详情
决策树
决策树(Decision Tree)是一种非参数的有监督学习,它能够从一系列有特征有标签的数据中总结出决策规则,并用树状图的结构来呈现这些规则,以解决分类和回归问题。
决策树是一个树的结构,节点会根据样本的特征作出判断,最初的分支点称为根节点,其余的被称为子节点,再有分支的节点则被称为叶子节点,这些节点代表了样本的分类结果,边则指示着方向。
特征选择
特征选择在于选取对训练数据具有分类能力的特征。这样可以提高决策树学习的效率。如果用一个特征去分类,得到的结果与随机的分类没有很大差别,那么这次分类是无意义的。因此,我们要选取有意义的特征进行分类。
在进行特征选择时,可以通过信息增益来衡量特征的的分类能力,信息增益 = 熵 - 条件熵。 信息增益可以简单理解为在某个条件下,信息复杂度的减少的程度。信息增益越高,特征越重要。根据特征选择,可以获得与目标较强相关的一组特征。
决策树生成
特征选择好后,进行生成决策树的操作,从根节点开始,对节点计算所有特征的信息增益,然后选择信息增益最大的特征作为该节点的特征,根据该特征的不同取值建立子节点,对于子节点,采用同样的方式生成新的子节点。
生成决策树的操作,相当于不断选取局部最优特征,或将训练集分割为基本能够正确分类的子集。
决策树剪枝
-
预剪枝:在决策树生成过程中,在对节点划分前可以对特征进行评估,若当前节点的划分不能带来决策树泛化性能的提升,则停止划分,将该节点标记为叶子节点。
-
后剪枝:决策树生成后,自底向上地评估节点,若该节点对应子树替换为叶节点可以提高决策树泛化性能,则将其替换为叶节点。