使用连续变量的决策树

Posted

技术标签:

【中文标题】使用连续变量的决策树【英文标题】:Decision tree using continuous variable [closed] 【发布时间】:2017-04-14 20:01:02 【问题描述】:

我有一个关于的问题

听说当输出变量是连续的,输入变量是分类的时, 拆分标准正在减少方差或其他内容。但是如果输入变量是连续的,我不知道它是如何工作的

    输入变量:连续/输出变量:分类

    输入变量:连续/输出变量:连续

关于两种情况,我们如何得到一个分割标准,比如基尼指数或信息增益?

当我在 R 中使用 rpart 时,无论输入变量和输出变量是什么,它都可以正常工作,但我不知道详细的算法。

【问题讨论】:

这不是技术问题:考虑在经过交叉验证或数据科学的社区中发帖。 我投票结束这个问题,因为它不是关于 help center 中定义的编程,而是关于 ML 理论/方法。 【参考方案1】:

1) 输入变量:连续/输出变量:分类 C4.5算法解决了这种情况。 C4.5

为了处理连续属性,C4.5创建了一个阈值,然后将列表拆分为属性值高于阈值的和小于等于阈值的。

2) 输入变量:连续/输出变量:连续 CART(分类和回归树)算法解决了这种情况。 CART

案例 2 是回归问题。您应该枚举属性j,并枚举该属性中的值s,然后将列表拆分为属性值高于阈值的值和小于或等于阈值的值。然后你得到两个区域

找到最佳属性j和最佳分割值s,其中

c_1c_2 并解决如下:

那什么时候做回归,

在哪里

【讨论】:

【参考方案2】:

我可以在非常高的层次上解释这个概念。

算法的主要目标是找到我们将用于第一次拆分的属性。我们可以使用各种杂质指标来评估最重要的属性。这些杂质度量可以是信息增益、熵、增益比等。但是,如果决策变量是连续类型变量,那么我们通常使用另一个杂质度量“标准差减少”。但是,无论您使用什么指标,取决于您的算法(即 ID3、C4.5 等),您实际上会找到一个用于拆分的属性。

当你有一个连续的类型属性时,事情就会变得有点棘手。你需要为一个属性找到一个阈值,它会给你带来最高的杂质(熵、增益比、信息增益......无论如何)。然后,你找到哪个属性的阈值给出了最高的杂质,然后相应地选择一个属性,对吧?

现在,如果属性是连续类型,决策变量也是连续类型,那么可以简单的结合以上两个概念,生成回归树。

这意味着,由于决策变量是连续类型,您将使用度量(如方差缩减)并选择属性,该属性将为您提供所选度量的最高值(即方差缩减)作为所有阈值属性。

您可以使用像 SpiceLogic Decision Tree Software 这样的决策树机器学习软件来可视化这样的回归树 比如说,你有一个这样的数据表:

软件会生成这样的回归树:

【讨论】:

以上是关于使用连续变量的决策树的主要内容,如果未能解决你的问题,请参考以下文章

决策树(回归树)分析及应用建模

理解变量选择的大型决策树图?

如何计算决策树的 AUC?

西瓜书决策树笔记

决策树

决策树算法原理