我正在进行回归任务 - 我需要为randomForest(R包)归一化(或缩放)数据吗?同时,还需要对目标值进行规范化吗?如果需要- 我想使用caret包中的scale函数,但我找不到如何获取数据的方法(去缩放、非规范化)。你是否知道其他功能(在任何包中)可以帮助规范化/非规范化?谢谢,米兰。
不需要对随机森林进行缩放。
随机森林的特性是收敛和数值精度问题,这些问题有时会使逻辑回归、线性回归以及神经网络中使用的算法出现问题,但在随机森林中并不重要。因此,在随机森林中您不需要像在神经网络中那样将变量转换为常见的标度。
你不会得到类似于回归系数的东西,它衡量每个预测变量与响应之间的关系。因此,您也不需要考虑如何解释这些系数,这是受变量测量尺度影响的。
缩放是为了规范化数据,以便不给特定特征优先权。在基于距离的算法中和需要欧几里得距离的算法中,缩放的作用最为重要。
随机森林是基于树的模型,因此不需要进行特征缩放。
即使应用规范化,该算法也需要进行分区,结果仍将相同。
randomForest
中,帮助页面和Vignette都没有建议对回归变量进行缩放的建议。在Stats Exchange的这个例子也没有使用缩放。scale
函数不属于pkg:caret。它是“base”R包的一部分。在grt和DMwR包中有一个unscale
函数,可以反转转换,或者您可以简单地乘以比例属性,然后添加中心属性值。boxcox
函数是一种常用的转换方式,当您没有先前知识来确定分布时以及当您确实需要进行转换时使用。应用转换存在许多陷阱,因此您需要提出问题表明您可能需要进一步咨询或自学。scale
的帮助页面中提到过。你的跟进问题有助于纠正记录。 - IRTFM猜猜,在以下示例中会发生什么? 假设您有20个预测特征,其中18个在[0;10]范围内,另外2个在[0;1,000,000]范围内(来自实际示例)。问题1:随机森林将分配哪些特征重要性?问题2:缩放2个大范围特征后,特征重要性会发生什么变化?
缩放很重要。 随机森林比其他算法对缩放不太敏感,并且可以使用“粗略”缩放的特征。
如果您要将交互添加到数据集中 - 即,新变量是其他变量的某个函数(通常是简单乘法),并且您不知道该新变量代表什么(无法解释它),那么您应该使用缩放变量来计算此变量。
scale
函数不属于caret
包,它是"base" R包的一部分。有一个unscale
函数可以反转转换。 - IRTFMmachine-learning
标签信息中的简介和注意事项。 - desertnaut