为什么因子比虚拟变量表现更好?

时间:2016-08-03 19:47:05

标签: r decision-tree gbm dummy-variable

我正在使用R中的dismo包(对于GBM)中的gbm.step构建一个提升的回归树模型。我最初将分类变量编码为因子,但是 - 我被告知编码因子为虚拟二进制变量(1表示存在; 0表示不存在),这将使算法更容易执行递归二进制分裂。

然而,今天我为包含因子(320次运行)的数据集和包含虚拟变量的另一个数据集(另外320次运行)运行了一系列学习率,树复杂度和包分数的组合。

为了给出一般性分解,我有4个分类变量。

1)第一个分类有4个级别 - 分为4个单独的1/0组合

2)第二个与(1)相同。

3)第三个级别 - 分为3个单独的1/0组合。

4)最后一个分类变量有2个级别 - 所以2个1/0组合。

在对所有运行进行比较之后,使用因子编码的数据集每次(320次)优于二进制虚拟变量,以异常值解释为1.5-3%。

我想知道为什么,当我希望虚拟变量更适合模型时? dismo会在幕后自动创建虚拟变量吗?

感谢。

0 个答案:

没有答案