现代决策树模型及其编程实践:从传统决策树到深度决策树
上QQ阅读APP看书,第一时间看更新

2.1.2 连续数值属性的离散化处理

离散化连续数值属性[9]有两种基本方法:一种是对训练集中的样本的每个特征属性进行量化(即所谓的无监督离散化),另一种是在离散化时考虑到这些样本分类(即有监督的离散化)。

无监督的离散化是指将连续数值属性按其范围划分为预定数量的间隔(桶)。

例如,可以通过应用等宽或等频率分桶,然后用桶的平均值或中位数替换划分到每个桶里的样本属性值,从而对属性值进行离散化。在这两种分桶方法中,总的范围都被划分为用户指定的k个间隔。在等宽度分桶中,特征的连续范围均匀地划分为宽度相等的间隔,而在等频率分桶中,在每个桶中放置相同数量的连续值。

当间隔数设置为k时,割点的最大数量为k-1。术语割点是指一个实数值,它将连续值的区间划分为两个间隔,一个间隔小于或等于割点,另一个间隔大于割点。

在连续变量分布不均匀的情况下,上述分桶方法可能无法产生良好的效果。而且该方法容易受到异常值的影响,因为异常值会对范围产生重大影响。有监督的离散化方法克服了这一缺点,其中分类信息被用来寻找由割点划分的适当的间隔。

有监督的离散化方法通常采用“熵”作为度量来查找潜在的割点,将一系列连续值拆分为两个间隔。这些方法递归地二元划分该范围或其子范围,直到满足停止条件,其中许多方法使用特定的停止条件。MDLP(最小描述长度原则)被确定为离散化的首选,因为它提供了一种更有原则的方法来确定何时停止递归拆分。

离散化的MDLP方法分为自上而下和自下而上两类。自上而下的方法从一组空的割点开始,并随着离散化的进行,通过拆分间隔来继续向列表中添加新的割点。自下而上的方法从特征的所有连续值作为割点的完整列表开始,并随着离散化的进展通过合并间隔来删除其中的一些值。选择合适的离散化方法通常是一个复杂的问题,在很大程度上取决于用户的需要和其他考虑因素。