Rob*_*lly 7 parallel-processing regression r large-data cart-analysis
我正在处理大约150万次观测的数据集.我发现在我的数据的一小部分上运行一个回归树(我正在使用包中的mob()*函数party)花费的时间非常长(我不能运行超过50k的一个子集).
我可以想到两个主要问题是减慢计算速度
有没有人对替代树实现提出建议,这些实现对大型数据集更有效,或者我可以改变以使计算更快的事情**?
*我正在使用mob(),因为我想在每个节点的底部进行线性回归,根据它们对治疗变量的响应来分割数据.
**似乎减慢计算量的一件事是我有一个16种类型的因子变量.计算要拆分的变量的哪个子集似乎比其他拆分需要更长的时间(因为有很多不同的方法可以对它们进行分组).这个变量是我们认为重要的变量,因此我不愿完全放弃它.是否有推荐的方法在将类型放入树模型之前将其分组为较少数量的值?
我的回答来自我参加的使用这些幻灯片的课程(参见幻灯片 20)。
那里的说法是,没有简单的方法来处理具有大量类别的分类预测变量。另外,我知道决策树和随机森林会自动倾向于在具有大量类别的分类预测变量上进行分割。
推荐几个解决方案:
ordered factorinRrandomForest包做的一件事是设置randomForest参数mtry为较低的数字。这控制算法为每个分割查找的变量数量。当它设置得较低时,与其余变量相比,出现的分类预测变量的实例将会更少。这将加快估计时间,并利用该randomForest方法的去相关优势,确保您不会过度拟合分类变量。最后,我建议查看 MARS 或 PRIM 方法。我的教授在这里有一些关于这一点的幻灯片。我知道 PRIM 因计算要求低而闻名。
| 归档时间: |
|
| 查看次数: |
1363 次 |
| 最近记录: |