使用连续变量的决策树

时间:2016-11-30 13:14:00

标签: r machine-learning cart decision-tree rpart

我对使用连续变量的决策树有疑问

我听说输出变量是连续的而输入变量是分类的, 拆分标准是减少差异或某事。但如果输入变量是连续的

,我不知道它是如何工作的

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

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

关于两种情况,我们如何获得像基尼指数或信息增益这样的分割标准?

当我在R中使用rpart时,无论输入变量和输出变量是什么,它都运行良好但我无法详细了解算法

3 个答案:

答案 0 :(得分:2)

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

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

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

案例2是回归问题。您应枚举属性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

答案 1 :(得分:1)

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

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

当您拥有连续的type属性时,事情会变得有些棘手。您需要找到一个属性的阈值,该阈值将为您提供最高的杂质(熵,增益比,信息增益……等等)。然后,您发现哪个属性的阈值给出了最高的杂质,然后相应地选择了一个属性,对吧?

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

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

您可以使用诸如SpiceLogic Decision Tree Software之类的决策树机器学习软件来可视化此类回归树。 假设您有一个像这样的数据表:

enter image description here

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

enter image description here

答案 2 :(得分:0)

rpart使用的算法可以在此软件包的文档中找到。 vignette!给出了一个很好的解释。

如果您想知道算法如何适用于连续输入变量,您可以使用谷歌搜索轻松找到这个。看看this video