机器学习22_决策树的连续值、缺失值处理(2021.09.03)
一. 决策树连续值处理 - - - 引言:
昨天讨论过的所生成的决策树,都是基于一些离散性的数据而生成的(例如上图蓝色圈圈内部有关色泽的属性);但是现实任务中常常会遇到连续的数据属性(例如上图红色圈圈内部有关密度的属性)。且由于连续属性的可取数目不再有限,因此,不能直接根据连续属性的可取值来对节点进行划分,此时,对于连续数据的离散化技术就可以派上用场了。其中,最简单的方法就是采用二分法对连续数据进行处理。
二. 二分法处理连续值的过程(针对上图中根据西瓜的密度属性来判断是好瓜还是坏瓜)
- 按照从小到大的顺序将连续型数据进行排列,再根据以下公式找到相邻数据之间的划分点(其实就是求平均值):
并求出根据目前对好瓜坏瓜的分类结果所能得到的信息熵:
- 根据得到的划分点(二分点/相邻数据的平均值点),将已有的数据两个部分。之后再计算两个部分的信息熵;之后再根据两个部分瓜的数量占总数量的比例,计算添加划分点之后的信息增益是多少。
以此类推,发现当划分点为0.381时,Gain(D, a, t)取得最大值为:0.263,因此也就选择这个点作为最终的划分点。 - 在选择完了划分点之后,也就有了西瓜有关密度这一·属性所具备的信息增益值,之后就是与其他属性所带来的信息增益进行比较,从而完成对决策树的生成。
三. 决策树缺失值处理 - - - 引言
在现实任务中,我们还常会遇到不完整的样本,即样本的某些属性值缺失(如上图中有关西瓜好坏的数据集中的红色部分就是缺失的属性值)。这种情况还并非是小概率事件,尤其是在属性数目比较多的情况下,往往会出现大量的缺失值。如果直接放弃使用数据集中不完整的样本,仅使用无缺失值的样本来学习,显然是对数据信息极大的浪费。在此时就要使用一些有关缺失值的处理了。
四. 处理缺失值的过程(针对上图中瓜的色泽这一属性)
- 直接将色泽属性缺失的数据排除之后,形成一个新的数据集。
- 计算新数据集的信息熵。
- 将新数据集根据色泽分为三类:青绿、乌黑、浅白。再计算每类的信息熵。
- 计算信息增益。
- 考虑到是直接将缺失色泽属性值的数据直接删去进行信息增益的计算,因此需要将这个增益放大到原先完整的数据中,也就有了:
从而就有了有关色泽这一属性的信息增益,之后就是与其他属性所带来的信息增益进行比较,从而完成对决策树的生成。
如有问题,敬请指正。欢迎转载,但请注明出处。