如何解决有没有办法在 Python 中并行化用于集成学习的循环?
我想同时训练多个 LightGBM 模型。
现在,我正在按如下顺序训练它们:
for m in range(ensemble_n):
params = {'seed':m}
model = lgb.train(params,lgbtrain)
prediction=model.predict(test_df.drop([target],axis=1))
test_predictions[:,m] = prediction
有没有办法并行化上面的循环?
解决方法
并行训练模型的多个版本的代价是您需要将多个版本的数据加载到内存中,如果您有一个庞大的数据集,这会变得很困难。
同时,如果您使用的是 LGBM 的 scikit-learn API,则可以利用参数 n_jobs=-1
,它将在所有可用内核上并行化单个模型的计算。这将更有效地利用资源,因为无论如何您都必须选择并行训练多个模型或并行训练单个模型,但不能同时选择两者。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。