如何为决策树中的连续变量选择分割点?


15

我有两个与决策树有关的问题:

  1. 如果我们有一个连续的属性,我们如何选择分割值?

    例如:年龄=(20,29,50,40 ....)

  2. 想象一下,我们有一个连续属性,其值在R中。我该如何写一个算法找到分裂点v,以便当我们将f除以v时,我们得到f > v的最小增益?fRvfvf>v

Answers:


18

为了得出一个分割点,对这些值进行排序,并根据某种度量标准(通常是信息增益或基尼杂质)评估相邻值之间的中点。为了您的例子,可以说我们有四个例子和年龄变量的值。值之间的中点24.5 34.5 45 进行评估,并取其分给训练数据的最佳信息增益(或任何你正在使用的度量)被使用。(20,29,40,50)(24.5,34.5,45)

通过仅检查位于不同类的示例之间的拆分点,可以节省一些计算时间,因为只有这些拆分才能获得最佳信息。


@ timleathart,OP期望被“汤匙喂”在R中的实现。OP“表现出一些努力”怎么样?
mnm

@timleathart,但通常对于属性f,我们选择对v> v提供最大信息增益的拆分v,但在这里看看他们要求最小增益的问题。
WALID BELRHALMIA

@timleathart,您能解释更多吗?我需要知道识别此类拆分并检查信息获取的最佳优化方法。可以说一个变量变化很大,而另一个几乎是恒定的。应该有多少这样的分割?
Arpit Sisodia

@timeleathart,扩展您的答案,当值是(20,21,22,23,45,67,80)时,此拆分将不会优化。应该在此处使用最小到最大迭代吗?如果我的假设是错误的,请纠正我:)
Arpit Sisodia

这澄清了我的困惑!
Jinhua Wang
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.