在 Python 中为随机森林选择正确的分布

Posted

技术标签:

【中文标题】在 Python 中为随机森林选择正确的分布【英文标题】:Choosing the correct distribution for Random Forests within Python 【发布时间】:2018-02-18 01:48:28 【问题描述】:

我目前使用的数据在 0.5 和 1.0 之间变化,其中有一堆值在 0.5-0.6 左右,然后是上面的几个值。然后我使用随机森林作为分类器,我想知道标准化这些值的最佳方法是什么?还是不需要归一化?

目前我只是使用,我错过了一个技巧吗?

RandomForestClassifier(random_state=42)

【问题讨论】:

请具体说明您的问题。您也可以查看 scikit-learn documentation 上的 RandomForestClassifier 的默认参数 首先,您可以绘制一个坐标轴为数据范围的图(例如,在您的情况下为 0.5 - 1.0),在 y =0 处绘制一个类中的数据点和另一类中的点在 y=1。只是为了了解它们的整体分布。 【参考方案1】:

随机森林对于单个特征的单调变换是不变的。平移或按特征缩放不会改变随机森林的任何内容。

不,随机森林不需要缩放或标准化。

RF 的本质是收敛性和数值精度问题(有时会影响逻辑和线性回归以及神经网络中使用的算法)并不那么重要。因此,您无需像使用 NN 那样将变量转换为通用尺度。 您没有得到任何回归系数的类似物,它衡量每个预测变量与响应之间的关系。因此,您也无需考虑如何解释这些受可变测量尺度影响的系数。

参考:

Do I need to normalize (or scale) data for randomForest (R package)?

【讨论】:

以上是关于在 Python 中为随机森林选择正确的分布的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法在 Python 中为具有多个分类的随机森林制作部分依赖图(使用 scikit-learn)?

如何绘制从使用 R 中的“caret”包创建的随机森林中选择的树

Python数据挖掘—分类—随机森林

随机森林训练占比为多少比较合适

如何在 Python 中为截断的正态分布生成相关随机数?

如何正确应用随机森林?