使用 'randomForest' 包设置的不同变量 training/test

different variables training/test set with 'randomForest' package

假设我有一个 class化问题,想使用 R 中的 randomForest 包来解决这个问题。

在我的训练集中,我想添加一个 third 变量,var3,它是 var1 和 var2 的乘积。因此,训练集将包括 var1、var2、var3 和 class 变量。

然而,这个var3不存在于测试集中,因此,当我想测试时,randomForest会报错我的模特:

random forest Error in eval(expr, envir, enclos) : object var3 not found

有什么办法可以解决这个问题吗?

使用公式接口在模型规格中构建产品:

    class_var ~ var1 + var2 + I(var1 * var2)

I 函数意味着将计算乘积的值而不是生成 interaction 的结果,如果变量中的任何一个是字符或因子(并且当它们都是数字时基本上是空操作)。这可能会出现问题:当 var1 和 var2 的值很大时,估计值的误差可能会主导计算。我想 运行 这个可能更安全:

  class_var ~ var1 + var2 + I( scale(var1 * var2) )