使用连续变量的决策树
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_1
和c_2
并解决如下:
那什么时候做回归,
在哪里
【讨论】:
【参考方案2】:我可以在非常高的层次上解释这个概念。
算法的主要目标是找到我们将用于第一次拆分的属性。我们可以使用各种杂质指标来评估最重要的属性。这些杂质度量可以是信息增益、熵、增益比等。但是,如果决策变量是连续类型变量,那么我们通常使用另一个杂质度量“标准差减少”。但是,无论您使用什么指标,取决于您的算法(即 ID3、C4.5 等),您实际上会找到一个用于拆分的属性。
当你有一个连续的类型属性时,事情就会变得有点棘手。你需要为一个属性找到一个阈值,它会给你带来最高的杂质(熵、增益比、信息增益......无论如何)。然后,你找到哪个属性的阈值给出了最高的杂质,然后相应地选择一个属性,对吧?
现在,如果属性是连续类型,决策变量也是连续类型,那么可以简单的结合以上两个概念,生成回归树。
这意味着,由于决策变量是连续类型,您将使用度量(如方差缩减)并选择属性,该属性将为您提供所选度量的最高值(即方差缩减)作为所有阈值属性。
您可以使用像 SpiceLogic Decision Tree Software 这样的决策树机器学习软件来可视化这样的回归树 比如说,你有一个这样的数据表:
软件会生成这样的回归树:
【讨论】:
以上是关于使用连续变量的决策树的主要内容,如果未能解决你的问题,请参考以下文章