我想同时训练多个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有没有办法让我把上面的循环并行化?
发布于 2021-04-22 13:01:41
并行训练模型的多个版本的代价是您需要将多个版本的数据加载到内存中,如果您有一个相当大的数据集,这可能会变得困难。
同时,如果您使用的是LGBM的scikit-learn API,则可以使用参数n_jobs=-1,该参数将在所有可用内核上并行计算单个模型。这将是一种更有效的资源使用,因为无论如何,您都必须选择并行训练多个模型或并行训练单个模型,但不能两者兼而有之。
https://stackoverflow.com/questions/67206962
复制相似问题