在之前的基于信息增益的ID3决策树介绍。介绍了ID决策树的一些内容,但是其中所使用的特征值都是离散的,但有些特征值可能不是离散而是连续属性,比如在周志华老师的西瓜书中西瓜数据集3.0就包含了密度和含糖率这两个特征值。本文以西瓜书中的知识点为基础来大致讲解一下如何处理计算这种连续属性。
连续属性的介绍。
在西瓜数据集3.0中出现了密度和含糖率这两种连续属性。在之前介绍过决策树的划分条件,是选取一个最合适的特征属性,然后将集合按照这个特征属性的不同值划分为多个子集合,并且不断的重复这种操作的过程。
那么如果出现了连续属性呢?所谓的连续属性就是像:0.697、0.774、0.634等的数字。
比如我们想按照密度进行划分,那么就会有多个密度值,如果样本足够大那么就会有无数个密度值,显然我们不能以这些密度值直接进行分散集合。否则某个密度将会对应一种分类,比如0.697属于好瓜,那么划分结果就会认为密度为0.697的瓜是好瓜,但是密度这中属性变化性太多,所以不能直接根据单个密度来判断。
但是我们又想让密度这个特征属性参与到决策树的建立中,那么就可以思考一下如何利用密度这个属性呢?
打个比方,在直角坐标系中x轴上有无数个点,这些点就像对应的密度值一样,我们无法计算出其总数,所以不能用这个点进行划分。但是直角坐标系中还有y轴,在y轴左边的点x值都是负的,在y轴右边的点都是正的,所以可以说y轴将x轴划分为正负两个部分。那么我们就可以利用这种划分方法将密度值进行划分多个子区域,这样密度值的子区域是有限的,所以就可以进行计算了。
比如我们按照0.697进行划分,那么就可以将密度值划分为:密度值大于0.697和密度值小于0.697的两个部分,然后我们将这两个部分看为离散值,这样就可以利用密度值参加决策树的划分过程了。
下面将介绍如何将连续属性离散化。
连续属性离散化。
由于连续属性的可取值数目不再有限,因此,不能直接根据连续属性的可取值来对节点进行划分。此时,我们可以使用连续属性离散化的技术将连续属性转换为离散的。
最简单的策略是使用二分法对连续属性进行处理。下面是书中对该方法的介绍。
给定样本集 D 和连续属性