使用连续变量的决策树

9
我有一个关于使用连续变量的决策树的问题。
我听说当输出变量是连续的而输入变量是分类的时候,分割标准是降低方差之类的东西。但如果输入变量是连续的,我不知道它是如何工作的。
对于以下两种情况,我们如何获得像基尼指数或信息增益这样的分割标准?
1. 输入变量:连续 / 输出变量:分类 2. 输入变量:连续 / 输出变量:连续
当我在R中使用rpart时,无论输入变量和输出变量是什么,它都能很好地工作,但我不知道算法的详细信息。

1
这不是一个技术问题:考虑在交叉验证或数据科学社区发布。 - Eric Lecoutre
2
我投票关闭此问题,因为它与[帮助中定义的编程]无关,而是涉及ML理论/方法论。 - desertnaut
2个回答

11

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

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

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

第二种情况是回归问题。您应该枚举属性j,并枚举该属性中的值s,然后将列表分为那些属性值高于阈值和那些小于或等于它的部分。然后您会得到两个区域enter image description here

找到最佳属性j和最佳拆分值s,它们为:

enter image description here

c_1c_2的求解方式如下:

enter image description here

然后进行回归时,
enter image description here

其中

enter image description here


4
我可以用非常高层次的方式解释概念。
算法的主要目标是找到我们将用于第一个分割的属性。我们可以使用各种不纯度指标来评估最重要的属性。这些不纯度指标可以是信息增益、熵、增益比等。但是,如果决策变量是连续型变量,则通常使用另一种不纯度指标“标准差降低”。但是,无论你使用哪种指标,根据你的算法(即ID3、C4.5等),你实际上会找到一个将用于拆分的属性。
当你有一个连续型属性时,事情就有点棘手了。你需要找到一个属性的阈值,以给出最高的不纯度(熵、增益比、信息增益等)。然后,你找出哪个属性的阈值给出了最高的不纯度,然后相应地选择一个属性,对吗?
现在,如果属性是连续型的,决策变量也是连续型的,那么你可以简单地结合上述两个概念并生成回归树。
这意味着,由于决策变量是连续型的,你将使用指标(如方差降低),并选择为所有属性的阈值提供所选指标(即方差降低)的最高值的属性。
您可以使用决策树机器学习软件(例如SpiceLogic Decision Tree Software)来可视化这样的回归树。比如,您有一个数据表格如下:

enter image description here

该软件将生成如下的回归树:

enter image description here


你需要找到一个属性的阈值,以获得最高的不纯度。但是如何做到呢?对于连续变量来说,存在无限数量的阈值,并且指标在阈值方面不可微分。 - Mehdi Charife

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接