森林随机回归sklearn中的叶子模型

时间:2020-03-26 02:43:44

标签: python machine-learning scikit-learn regression random-forest

我正在处理有界回归问题,其中我的目标变量在[0,100]区间内。我的训练数据的目标变量值均匀地分布在[0,100]区间上,因此天真地实施模型通常会导致较高的误差,因为预测超出[0,100]区间。

我想使用随机森林模型,因为我的输入数据具有几种不同的数据类型(某些连续特征,某些二进制数据等),我知道随机森林模型在处理这些数据方面表现出色。在我的教科书中,它说,给定分配给叶L的新数据点,单个回归决策树将(a)返回训练数据的平均值为叶L或(b)将线性模型拟合至训练在叶L中获取数据,然后根据给定的新数据点返回线性模型的预测值。

我真的希望使用第一个函数(a),因为它将导致我的决策树仅返回正确有界集合中的值。但是,我正在使用sklearn.ensemble.RandomForestRegressor,并且我假设它(以及大多数回归决策树)都使用了上述函数(b)。我认为它是在每棵单独的树上使用函数(b),然后返回森林中所有树的均值作为最终回归值,但这仍可能超出[0,100]区间。

我是否根据正确的假设?有什么方法可以使用sklearn或其他Python软件包解决此问题?

(此外,如果有人对此数据的模型有任何建议(将目标与混合类型输入数据绑定在一起,请将其留在注释中!)

0 个答案:

没有答案