我们说我有分类问题,并希望使用R中的randomForest包来解决这个问题。
在我的训练集中,我想添加一个第三个变量 var3 ,它是var1和var2的乘积。因此,训练集将包括 var1,var2,var3和类变量。
但是,测试集中不存在 var3 ,因此,当我想测试模型时,randomForest会出错:
random forest Error in eval(expr, envir, enclos) : object var3 not found
有没有办法解决这个问题?
答案 0 :(得分:1)
使用公式界面在模型规范中构建产品:
class_var ~ var1 + var2 + I(var1 * var2)
I
函数意味着将计算产品的价值,而不是产生interaction
的结果,如果变量中的任何一个是字符或因子,则不是数字产品(并且基本上是如果它们都是数字的,则为无操作。可能存在以下问题:当var1和var2的值很大时,估计值周围的误差可能会主导计算。我认为运行它可能更安全:
class_var ~ var1 + var2 + I( scale(var1 * var2) )