决策树学习的3个步骤,你知道吗?

决策树(Tree)是一种有监督学习方式,通过特性和标签构造一棵决策树,学习特性之间的规则,以解决分类和回归问题。 #
使用决策树进行决策的过程就是从根节点开始,检测待分类项中相应的特性属性,并根据其值选择输出分支,直至抵达树叶节点,将树叶节点储存的类型作为决策结果。 #
决策树由以下3种元素构成:
决策树怎么判断好瓜和坏瓜? #
(此图摘自周志华猕猴桃书,本人白板手绘版) #
以里面的草莓为例,我们要怎样判断一个瓜是好瓜。特征是:纹理清晰,根蒂稍蜷,触觉青绿,正好,你建立了一棵决策树,立刻断定这是好瓜还是坏瓜? #
判定方法如下: #
按照纹理清晰,已知是清晰,这么向两边走,看步接着,由纹理清晰抵达第2层,由决策树图,我们可以看见,根蒂是稍蜷接着到第3层,口感的特性的青绿,由此,我们可以得出推论,这是一个好瓜。 #
按照前面的样例,我们可以很直观的得到一个例子的类型判定,只要告诉各个特点的详细值,决策树的判断过程就相当于从树中从根节点到某一个花茎节点的递归。每一步怎样递归是由数据各个特点的详细特性属性决定。
#
这么,基于前面的一棵树,我们又有如下疑惑,为何根节点是纹理,而不是根蒂或则别的特性呢?
#
决策树又是基于哪些标准来选择特性的?假如建立决策树?
#
决策树学习的3个方法
基于前面的问题,为了建立一棵优质的决策树,决策树主要有3个方法。 #
特性选择,决策树生成,决策树修剪 #
特性选择
特性选择也即选择优界定属性,从当前数据的特性中选择一个特点作为当前节点的界定标准。我们希望在不断界定的过程中,决策树的分支节点所包含的样本尽或许属于同一类,即节点的“纯度”越来越高。而选择优界定特性的标准不同,也引发了决策树算法的不同。 #
决策树基于树结构进行决策,可做分类,也可进行回归,有ID3,C4.5,Cart回归树。一般是数组选择优特性,并按照这个特性对训练数据进行分割,并且对各个子数据集有好的决策过程,决策树希望往快达到含量更高子集合方向发展。
#
决策树生成生成算法界定标准 #
ID3
#
信息增益
C4.5
#
信息增益率 #
CART #
基尼指数 #
ID3 #
ID3以信息增益大的特性作为节点进行界定,遍历建立决策树,直至所有特性被界定。
#
信息增益表示得悉特性X的信息而致使类Y的信息的不确定性提高程度。表示界定前和界定后的熵的残差,残差越大,增益越大。而界定前的熵是确定的,界定后的核减熵越小,则终的信息增益越大。 #
决策时总是希望往快达含量更高子集合方向发展,而含量越高如何解释?含量高,特性之间的差距越大,越促使特性选择。
详细办法 #
从根节点开始2024决策树可用范围,对节点估算所有或许的特性的信息增益,选择信息增益值大的特性作为节点的界定特性;由该特性的不同取值确立子节点;再对子节点数组地读取以上步骤,建立决策树;到所有特性的信息增益都很小或则没有特性可以选择为止,得到终的决策树
信息增益偏向于取值较差的特性 #
信息增益在面对类型较少的离散数据时疗效较差,而且面对取值较差的特性时疗效会很不如人意。 #
关于信息增益对取值较差特性的偏向性,我觉得成因是:当特性的取值较差时,依据此特性界定得到的子集含量有更大的或许性会更高(对比与取值较少的特点),所以界定以后的熵更低,因为界定前的熵是一定的,所以信息增益更大,所以信息增益比较偏向取值较差的特点。 #
举个较为极端的事例或许更好理解:假如特性A的取值能将每一个样本都分到一个节点当中去的时侯(如编号等特点),条件熵部份会为0,这意味着该状况下的信息增益达到了大值,故ID3算法一定会选择特性A。并且,虽然的,我们晓得这个特性A其实不是佳选择。 #
这么为何信息增益率才能缓解这些状况呢?先来看一下信息增益率的估算公式: #
又叫特性A的内部信息,
其虚像是一个评判以特性A的不同取值将数据集D分类后的不确定性的测度。假如特性A的取值越多,这么不确定性一般会更大,这么 #
的值也会越大,而 #
会越小,相当然后在信息增益的基础上乘上一个惩罚系数,即: #
ID3的特征 #
C4.5
#
对ID3进行改进,采用信息增益率进行特性选择,数组建立决策树。
C4.5特征 #
Cart #
CART(andtree)分类回归树算法,既可适于分类也可适于回归,在这一部份我们先主要将其分类树的生成。 #
CART分类树
差别于ID3和C4.5,CART假定决策树是二叉树,内部节点特性的取值为“是”和“否”,左分支为取值为“是”的分支,右分支为取值为”否“的分支。
那样的决策树等价于数组地二分每位特性,将键入空间(即特性空间)界定为有限个单元。
CART的分类树用基尼指数来选择优特性的优界定点,详细过程如下 #
从根节点开始,对节点估算现有特点的基尼指数,对每一个特性,比如A,再对其每位或许的取值如a,依据样本点对A=a的结果的”是“与”否“划分为两个部份,运用
在所有或许的特性A及该特性所有或许的取值a中,选择基尼指数小的特点及其对应的取值作为优特性和优切分点,之后按照优特性和优切分点,将数据集二分,生成两个子节点。
对两个子节点数组地读取上述方法,直到节点中的样本个数大于信噪比,或则样本集的基尼指数大于信噪比,或则没有更多特性后停止。 #
生成CART分类树。 #
CART回归树
#
回归树是可以适于回归的决策树模型,一个回归树对应着键入空间(即特性空间)的一个界定以及在界定单元上的输出值。 #
与分类树不同的是,回归树对键入空间的界定选用一种启发式的方式,会递归所有键入变量,找到优的切分变量j和优的切分点s,即选择第j个特点xj和它的取值s将键入空间界定为两部份,之后重复这个操作。
#
而怎样找到优的j和s是通过比较不同的界定的偏差来得到的。一个键入空间的界定的偏差是用真实值和界定区域的预测值的小二乘来评判的,即 #
其中f(xi)是每位界定单元的预测值,这个预测值是该单元内每位样本点的值的均值。 #
这么,j和s的求解可以用以下式进行
R1(j,s)和R2(j,s)是被界定后的两个区域。 #
生成方式
#
选择优的切分变量j和优切分点s,求解枚举所有特性,对固定的特点扫描所有取值,找到并且上式达到小值的(j,s)用选取的(j,s)界定区域,并确定该区域的预测值继续对两个子区域继续前面的方法,直到满足停止条件生成回归树决策树修剪 #
移栽是为了防止决策树模型过拟合2024决策树可用范围,由于决策树算法在学习过程中为了尽或许的正确分类训练样本,不停的对节点进行界定,然而这会造成整棵树分支过多,也就造成了过拟合。
决策树的修剪有两种:预修剪和后移栽 #
预修剪(pre-)
#
预修剪就是在构造决策树的过程中,先对每位结点在界定前进行恐怕,如果当前结点的界定不能带来决策树模型泛化功耗的提高,则不对当前结点进行界定甚至将当前结点标记为叶结点。
后移栽(post-)
后移栽就是先把整颗决策树构造完毕,于是自底向下的对非叶结点进行视察,若将该结点对应的子树换为叶结点就能带给泛化功耗的提高,则把该子树替换为叶结点。 #