【发布时间】:2016-11-11 01:38:57
【问题描述】:
我正在使用决策树制作数据挖掘模型。如果我有像 MALE 和 FEMALE 这样的二进制属性,我知道在拆分时我将有两个来自 Gender 节点的分支。但是,如果我有连续属性,它是从 0 到 1 的浮点数。我是否将其映射到离散值,如 LOW (0 - 0.5) 和 HIGH (0.5 - 1)?或者有其他方法吗?
【问题讨论】:
标签: machine-learning classification decision-tree
我正在使用决策树制作数据挖掘模型。如果我有像 MALE 和 FEMALE 这样的二进制属性,我知道在拆分时我将有两个来自 Gender 节点的分支。但是,如果我有连续属性,它是从 0 到 1 的浮点数。我是否将其映射到离散值,如 LOW (0 - 0.5) 和 HIGH (0.5 - 1)?或者有其他方法吗?
【问题讨论】:
标签: machine-learning classification decision-tree
为什么需要自己拆分?我不确定我是否理解正确。 但是,决策树的目的正是您似乎手动执行的操作。
对于给定的特征F(我们以连续属性为例),其中值在(a, b)内(可以是] -∞, +∞[ ),决策树寻找 最佳* 值 V 将您的节点分成两个独立的叶子。因此,如果属性 F 在 (a, V) 内,则数据属于第一个叶子,如果在 (V, b) 内,则数据属于第二个叶子。强>
什么 最佳* 意味着?
它们是找到值 V 的多种方法,但一般来说,每个叶子的 纯度(文学术语)是最大的,这意味着数据内部在某种程度上是同质的。 Wiki 给出了一些常用的指标来将每个父叶拆分为两个子叶。
【讨论】:
如上所述,您无需担心找到最佳属性。但是,如果您有大量浮点数作为属性,则每个值的计算时间都很昂贵。在这种情况下,请查看决策树中的离散化算法。
因此,在您的示例中,当应用二进制离散化技术时,您的连续属性将转换为离散的二进制属性。有很多离散化技术,它们使用不同的方法来找到类之间的完美阈值(在你的例子中是 0.5)。
【讨论】: