之前简单总结的,后面的内容基本是目录,详细内容后面再添加
1.决策树的定义
简单的来说决策树就是将数据集根据一定规则分裂,建立成树结构,用来进行决策,每一个非叶子节点是一个判断条件,每一个叶子节点是结论。从根节点开始,经过多次判断得出结论。
举例:
省略数据集,给出得到的树如下,用来银行根据一个认得信息(包括职业、年龄、收入、学历)去判断他是否有贷款的意向
决策树每次选择一个属性进行判断,如果不能得出结论,继续选择其他属性进行判断,直到能够“肯定地”判断出用户的类型或者是上述属性都已经使用完毕。
例如某信息为{职业、年龄,收入,学历}={工人、39, 1800,小学},输入决策树会得到以下步骤和结论:
①根据职业进行判断,选择‘工人’分支
②根据客户的年龄进行选择,选择年龄‘<=40’这一分支
③根据客户的学历进行选择,选择”小学”这一分支,得出该客户无贷款意向的结论
2.决策树的构建
步骤1:将所有的数据看成是一个节点,进入步骤2;
步骤2:从所有的数据特征中挑选一个数据特征对节点进行分割,进入步骤3;
步骤3:生成若干孩子节点,对每一个孩子节点进行判断,如果满足停止分裂的条件,进入步骤4;否则,进入步骤2;
步骤4:设置该节点是子节点,其输出的结果为该节点数量占比最大的类别。
存在几个关键问题,此处仅列出提纲和较重要的概念
2.1 如何分裂数据 ①离散型 ②连续型
2.2 分裂属性的选择 贪婪思想
选择分裂属性是要找出能够使所有孩子节点数据最纯的属性,决策树使用信息增益或者信息增益率作为选择属性的依据。
(1) 信息增益
用来表示分裂前后根的数据复杂度和分裂节点数据复杂度的变化值,计算公式表示为:
Gain表示节点的复杂度,Gain越高,说明复杂度越高。信息增益就是分裂前的数据复杂度减去孩子节点的数据复杂度的和,信息增益越大,分裂后的复杂度减小得越多,分类的效果越明显。
节点复杂度计算方式:
A) 熵
Pi表示类i的数量占比。以二分类问题为例,如果两类的数量相同,此时分类节点的纯度最低,熵等于1;如果节点的数据属于同一类时,此时节点的纯度最高,熵等于0
B) 基尼值
Pi表示类i的数量占比。同样以二分类为例,当两类数量相等时,基尼值等于0.5 ;当节点数据属于同一类时,基尼值等于0 。基尼值越大,数据越不纯。
(2) 信息增益率
信息增益率是在信息增益的基础上除以分裂节点数据量的信息增益,用来解决信息增益作为选择分裂条件时倾向选择分支比较多的属性进行分裂的缺点,公式为
其中 ,表示分裂子节点数据量的信息增益
2.3 停止分裂的条件
(1)最小节点数
(2)熵或者基尼值小于阀值。
(3)决策树的深度达到指定的条件
(4)所有特征已经使用完毕,不能继续进行分裂。
2.4决策树的构建算法
分类树:ID3、C4.5
分类回归树:CART
2.5决策树的优化 剪枝、组合树
原文:https://www.cnblogs.com/1113127139aaa/p/10368149.html