0

我已经使用 scikit-garden 大约 2 个月了,尝试训练分位数回归森林 (QRF),类似于本文中的方法。该论文的作者使用了 R,但因为我和我的同事已经熟悉 python,所以我们决定使用 scikit-garden 的 QRF 实现。首先,这个包的形状很糟糕,而且似乎没有完全发挥作用(我们必须首先更改一些源代码才能让它运行)。这是我让它发挥作用的最后一次尝试。

完成负责创建可用数据集的所有代码后,我们现在尝试使用标准超参数训练一个简单的 QRF,以获得对错误的初步估计。到目前为止,没有一次训练完成,因为在训练最后一棵树时它似乎总是停止/冻结,我总是不得不自己杀死这项工作以避免惹恼系统管理员。

例如,我在 8 个 CPU 上进行的最新训练运行(每个 CPU 训练 1 棵树),标准设置构建并训练 10 棵树。所有的树都在 5 到 6 分钟内建成并训练完毕,除了最后一棵树,我让它跑了一周,然后才被迫杀死它。重要的是,保留的 8 个 CPU 中只有一个处于活动状态,并且(显然)以 100% 的速度运行。

我们有相当大的数据集(约 2'000'000 个观测值),但即使有较小的摘录,它仍然会冻结在最后一棵树上。除了最后一棵树之外,所有树都应该在完整数据集上快速训练,这对我来说也没什么意义。

以下是主要训练代码的一小段摘录:

xtrain, xtest, ytrain, ytest = train_test_split(features, target, test_size=testsize)
model = RandomForestQuantileRegressor(verbose=2, n_jobs=-1).fit(xtrain, ytrain)

ypred = model.predict(xtest)

这是我第一次在这里发布问题 - 如果我忘记了任何重要信息,请告诉我!非常感谢任何可以帮助我的人!:)

4

0 回答 0