每天五分钟机器学习:决策树算法的详细引见
作者头像
  • 柯冬梅
  • 2020-05-30 08:03:39 2

文章重点

C4.5和CART算法能够处理连续型变量。本文将探讨如何处理连续型变量的问题。

连续型变量的离散化

由于决策树要求输入数据必须是离散的,连续型变量需要进行离散化处理。本文将介绍两种离散化方法,适用于不同类型的连续数据。

方法一

首先,将连续变量划分为不同的区间。例如,对于年龄这一连续变量,可以将其划分为[10,30]、[30,50]、[50,70]等区间,使年龄变成离散值。

方法二

对于某些连续属性,如年龄,其取值虽然有限,但其他连续属性的取值可能是无限的。此时,不能直接根据取值进行划分,而是采用二分法进行处理。这种方法在C4.5决策树算法中被广泛使用。

假设我们有一个特征,其值为连续的,如: {0.243,0.245,0.343,0.360,0.403,0.437,0.481,0.556,0.593,0.608,0.634,0.639,0.657,0.666,0.697,0.719,0.774}

首先,我们计算每两个值之间的中心点: {0.244,0.294,0.351,0.381,0.420,0.459,0.518,0.574,0.600,0.621,0.636,0.648,0.661,0.681,0.708,0.746}

共有16个分割点,我们需要确定最佳的分割位置。这里采用信息增益作为选择标准。通过计算发现,在0.381处进行分割时,信息增益最大。此时,信息增益为0.264。

初始样本的信息熵为:

[ -frac{8}{17}log2left(frac{8}{17}right) + -frac{9}{17}log2left(frac{9}{17}right) = 0.998 ]

条件熵为:

[ frac{13}{17} left(-frac{5}{13}log2left(frac{5}{13}right) - frac{8}{13}log2left(frac{8}{13}right)right) + frac{4}{17} left(0log2(0) + frac{4}{4}log2left(frac{4}{4}right)right) = 0.734 ]

因此,0.381对应的信息增益为: [ 0.998 - 0.734 = 0.264 ]

这表明,在0.381处进行划分是最优选择。接下来计算信息增益率,即当前特征的信息增益率。

注意事项

需要注意的是,与离散属性不同,当节点的划分属性为连续属性时,该属性仍可用于其后代节点的划分。例如,在父节点上使用“密度≤0.381”不会阻止在子节点上继续使用“密度”。

个人认为,之所以可以继续使用连续属性是因为简单地通过一个条件(如0.381)将连续属性分为两部分,可能会导致一部分样本不满足这种划分。因此,继续使用连续属性进行多次划分,可以使划分更加精细,从而更好地满足大多数样本的需求。

    本文来源:图灵汇
责任编辑: : 柯冬梅
声明:本文系图灵汇原创稿件,版权属图灵汇所有,未经授权不得转载,已经协议授权的媒体下载使用时须注明"稿件来源:图灵汇",违者将依法追究责任。
    分享
引见算法决策机器分钟每天学习详细
    下一篇