本文同步发表在公众号(happyGirl的异想世界)以及知乎(链接https://zhuanlan.zhihu.com/p/337746713)
(公众号公式显示正常,CSDN会有小部分公式显示不出来)
面试机器学习/推荐/NLP相关岗位时,机器学习中常用算法的推导时最基本的,小编将对机器学习常用算法出一期专辑,让你战无不胜~
导读
本文将从一、什么是决策树,二、决策树学习的3个步骤,三、3种典型的决策树算法及公式推导,四、剪枝,五、连续值与缺失值的处理,六、决策树的优缺点 六个方面对决策树进行讲述~
如有描述不当的地方,欢迎后台联系小编,大家共同进步呀~
一、什么是决策树
决策树算法简单来说就是采用树形结构,通过层层推理解决分类问题。决策树与其他Machine learning方法相比,其数学复杂度不高,同时能为分类问题提供足够的精度,所以应用广泛。 决策树由以下几种元素构成:
-
根节点:包含样本的全集
-
内部节点:对应特征属性测试
-
叶节点:代表决策的结果
预测时,在树的内部节点根据属性值进行判断,根据判断结果决定进入哪个分支,直到抵达叶节点处,得到分类结果。 这是一种基于 if-then-else 规则的有监督学习算法,决策树的这些规则通过训练得到,而不是人工制定的。
-
二、决策树学习的3个步骤
决策树不可或缺的三个步骤为:特征选择、决策树生成和决策树剪枝,本节对这三个环节做简单介绍,让大家形成总体概念,第三节会对特征选择和决策树生成进行详细的讲述。
2.1 特征选择
特征选择即使用哪些特征来做判断。在训练集中,每个样本的属性可能有很多个,不同属性对结果的影响有大有小。特征选择可以筛选出跟分类结果相关性较高的特征(也就是分类能力较强的特征)。 我们通常使用信息增益的方法来选择最佳属性,后文会对此进行详细讲解。
2.2 决策树生成
选择好特征后,根据所有特征的信息增益,从根节点开始选择信息增益最大的特征作为节点特征,根据该特征的不同取值建立子节点;对每个子节点使用相同的方式生成新的子节点,直到信息增益很小或者没有特征可以选择为止。
2.3 决策树剪枝
剪枝是通过主动去掉部分分支来降低过拟合的风险,对抗过拟合。
三、3种典型的决策树算法及公式推导
下图为决策树学习基本算法,其中第8点:选择最优划分属性 是本节讨论的重点。