我是否需要规范化(或缩放)randomForest(R包)的数据?

gut*_*mpf 58 r random-forest

我正在做回归任务 - 我是否需要规范化(或缩放)randomForest(R包)的数据?是否有必要扩大目标价值?如果 - 我想使用来自插入包的scale函数,但我没有找到如何获取数据(descale,denormalize).你不知道其他一些函数(在任何包中)对规范化/非规范化有帮助吗?谢谢,米兰

Hon*_*Ooi 70

不,随机森林不需要缩放.

  • RF的本质是收敛和数值精度问题,有时会使逻辑和线性回归中使用的算法以及神经网络绊倒,并不那么重要.因此,您不需要像使用NN那样将变量转换为通用比例.

  • 你没有得到回归系数的任何类比,回归系数衡量每个预测变量和响应之间的关系.因此,您也不需要考虑如何解释受可变测量尺度影响的系数.

  • 不仅不需要缩放,它可以消除模型的非线性特性.如果在p维空间中存在复杂的非线性关系并且已经转换了数据,则在对其进行反向变换时,这些非线性不会反映在估计中. (16认同)
  • @JeffreyEvans请结合您的好评并将其作为答案发布.否则,这将在每个人的雷达下滑落.你说**"不,不仅没有必要,它有害于以下原因a)b)c)......"** (7认同)
  • 我认为他的意思是,如果您使用训练集定义的相同功能缩放所有集(训练,测试),则没有必要,但不会造成损害。 (2认同)

sha*_*pal 6

进行缩放是为了对数据进行归一化,以便不会将优先级给予特定功能。在基于距离且需要欧几里得距离的算法中,缩放的作用最为重要。

随机森林是基于树的模型,因此不需要特征缩放。

该算法需要分区,即使您应用Normalization,结果也将是相同的。


42-*_*42- 4

我在帮助页面或 Vignette 中都没有看到任何建议,表明缩放对于 中的回归变量是必要的randomForestStats Exchange 的这个示例也不使用缩放。

我的评论副本:该scale函数不属于 pkg:caret。它是“基础”R 包的一部分。grtDMwRunscale包中有一个函数可以反转转换,或者您可以简单地乘以比例属性,然后添加中心属性值。

您对为什么需要进行“正常化”的想法可能需要严格审查。仅在完成回归后才需要进行非正态性检验,如果拟合优度方法中没有正态性假设,则可能根本不需要非正态性检验。那么:你为什么问?在 SO 和 Stats.Exchange 中搜索可能会很有用: 引用 #1引文#2引文 #3

boxcox当人们事先不知道分布“应该”是什么以及当您确实需要进行转换时,该函数是一种常用的转换。应用转换有很多陷阱,因此您需要提出问题的事实会引起您可能需要进一步咨询或自学的担忧。

  • @BondedDust:很好的答案,但最后一段有点令人讨厌。也许改写*“您需要学习何时需要和不需要对预测变量和响应变量进行转换”* (2认同)