《机器学习实战(基于scikit-learn和TensorFlow)》第六章内容学习心得

本章讲决策树

决策树,一种多功能且强大的机器学习算法。它实现了分类和回归任务,甚至多输出任务。

决策树的组合就是随机森林。

本章的代码部分不做说明,具体请到我的GitHub上自行获取

决策树的每个节点都是一种属性的判断,每个分支是判断结果的输出,是一种监督学习的算法。

决策树的类别有很多,最广泛使用的决策树的生成算法是CART(Classification And Regression Tree)。

  • CART:

首先,使用单个特征k和阈值h将训练集分为两个子集。对于上述两个参数的选择,需要经过搜索算法确定。

然后,重复上述操作,继续分裂子集,直到达到最大深度。

  • 正则化

决策树极少对训练数据做假设,但是不加限制,总会过拟合。我们需要对过拟合的决策树进行正则化处理。我们可以使用max_depth、min_samples_leaf、min_samples_split等一系列的超参数进行控制。还有一种方式可以控制,就是先不控制决策树的生长,最后进行剪枝作业。若一个节点的子节点全部为叶节点,则删除该节点,直到全部节点处理完毕。

  • 回归

决策树可以进行回归任务。与分类任务相比,差别在于每个节点不是预测的类别,而是预测一个值。每个分支节点预测的值永远等于该节点内实力目标的平均值。算法的目标就是尽可能的将最多的实例接近预测值。同时CART算法分裂方式就是最小化MSE。

  • 不稳定性

决策树是不稳定的。它对训练集的旋转很敏感。

 

 

 

 

posted @ 2019-04-25 11:26  Frederic_Niu  阅读(322)  评论(4编辑  收藏  举报