本章讲决策树算法
决策树,一种多功能且强大的机器学习算法。它实现了分类和回归任务,甚至多输出任务。机器学习
决策树的组合就是随机森林。学习
本章的代码部分不作说明,具体请到个人GitHub上自行获取。spa
决策树的每一个节点都是一种属性的判断,每一个分支是判断结果的输出,是一种监督学习的算法。it
决策树的类别有不少,最普遍使用的决策树的生成算法是CART(Classification And Regression Tree)。io
首先,使用单个特征k和阈值h将训练集分为两个子集。对于上述两个参数的选择,须要通过搜索算法肯定。搜索
而后,重复上述操做,继续分裂子集,直到达到最大深度。数据
决策树极少对训练数据作假设,可是不加限制,总会过拟合。咱们须要对过拟合的决策树进行正则化处理。咱们能够使用max_depth、min_samples_leaf、min_samples_split等一系列的超参数进行控制。还有一种方式能够控制,就是先不控制决策树的生长,最后进行剪枝做业。若一个节点的子节点所有为叶节点,则删除该节点,直到所有节点处理完毕。co
决策树能够进行回归任务。与分类任务相比,差异在于每一个节点不是预测的类别,而是预测一个值。每一个分支节点预测的值永远等于该节点内实力目标的平均值。算法的目标就是尽量的将最多的实例接近预测值。同时CART算法分裂方式就是最小化MSE。background
决策树是不稳定的。它对训练集的旋转很敏感。