机器学习超详细实践攻略(9):手把手带你使用决策树算法与调参
决策树算法在工业中本身应用并不多,但是,目前主流的比赛中的王者,包括GBDT、XGBOOST、LGBM都是以决策树为积木搭建出来的,所以理解决策树,是学习这些算法的基石,今天,我们就从模型调用到调参详细说说决策树的使用方法。 一、什么是决策树 既然要用决策树,那么我们首先要知道决策树的基本原理。 初听到决策树这个名字的时候,我觉得他是一种最不像机器学习算法的算法。因为这不就是编程里最基本的if-else选择语句嘛,还能有多厉害? 而且我们生活中的和决策树相关的例子比比皆是,假如你出去买东西,如果价格合适,那就买下来,如果价格太高,那就和商家讨价还价,如果商家同意打折,那就买下来,如果商家不同意便宜点,那就放下东西走人。这就会构建出下图这样的一个决策树。 别急,决策树算法之所以能成为机器学习十大算法,必然有其过人之处。仔细想想,决策树算法并不是单纯地进行决策,而是通过数据集让程序学会像人一样做这一系列的决策过程。 所以决策树算法的核心是要解决两个问题: 1)如何从数据集中找出最佳分枝? 2)如何在合适的时候让决策树停止生长,防止过拟合? 几乎所有与决策树有关的模型调整方法,都逃不开这两个核心问题。 关于第一个问题,一个数据集必然给出了很多的特征,先按照哪个特征来高效地划分数据集,是决策树需要解决的最大问题。当然,我们完全可以按照特征从头到尾顺次来划分数据集,但是,这样做其实并不好