属性值缺失

127 阅读2分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第1天,点击查看活动详情

缺失值:在某些情况下,数据的某些属性的属性值会有缺失。例如数据S=(S1,...,Sn)有n个属性,Sij=np.nan是属性Si的一个空属性值。

 

缺失值的处理方法:

在没有进行决策树之前直接丢弃缺乏属性值的这一行数据。

或者让c4.5算法自己解决,c4.5算法的解决方案大致如下:

l  在构建决策树时,我们要选取分裂属性,分裂属性的选择是通过信息增益率来确定的。如果有一部分数据样本在该属性上属性值缺失,计算该属性的信息増益率时可忽略掉缺失此属性属性值的样本;或者把此属性中出现频率最高的属性值賦值给缺失了属性值的数据样本。

l  假设分裂属性确定,样本集应该根据该属性的属性值来进行分支,如果上一步骤我们选择忽略属性值缺乏数据,那么这一步该如何对其分支?C4.5算法采取继续忽略或者根据未缺失样本的比例进行赋值,比如有一个属性‘天气’其属性值分别为‘好’与‘坏’,分别与‘好’‘坏’相对应的未缺失属性值的数据比例为(好)3:(坏)2,那么那些缺失属性值的数据也按此比例进行赋值与分支。当然也可以把缺失属性值的样本单独创建一个分支,不过这种方式得到的决策树模型结点数显然要増加,使模型更加复杂了,因此并不太常用。

l  在决策树已经构建完成后,如果待分类样本中有些属性值缺失,则该样本的分类过程如何进行?

    可以这样处理:待分类样本在到达属性A的分支结点时即可结束分类过程,此样本所属类别为属性A的子树中概率最大的类别;或者把待分类样本的属性A赋予一个最常见的值,然后继续分类过程。

 

C5.0 算法简介****

Quinlan继续创建了C 5.0,他对此算法进行了市场销售。C.50提供了许多改进。其中一些是:

l  速度 - C5.0明显快于C4.5(几个数量级)。

l  内存使用 - C5.0比C4.5更高的内存效率。

l  较小的决策树--C5.0得到与C4.5类似的结果,其中决策树相当小。

l  支持提升 - 提升可以改善树木并提高树木的准确性。

l  Winnowing - 一个C5.0选项自动获取属性以删除那些可能无用的属性。