0

我想使用 mlxtend StackingRegressor 来集成 XGBoost、LGBM 和 Catboost 。但我不确定在这种方法中我将使用多少 cpu。

例如:

在 XGboost 中:

import xgboost as xgb
xgb_pars = {'nthread': -1}
xgb1=XGBRegressor(**xgb_pars)

然后我知道我会用完这个算法中的所有cpu核心

但是如果我用 mlxtend StackingRegressor 试试呢?

我猜这个方法将使用我为每个算法安排的 cpu。

示例:XGBoost:2 LGBM:2 CatBoost:2 Meta regressor:1

所以最后我使用了 7 个核心。

4

1 回答 1

0

不,代码似乎一个接一个地适合模型,请参见此处。因此,首先您将使用 2 个核心来训练 XGB,当它完成时 - 2 个核心用于 LGBM,依此类推。

顺便说一句,感谢分享 mlxtend- 我不知道。似乎有许多有用的工具,我不得不自己开发,因此重新发明轮子:) 唯一不幸的事情似乎是缺少文档,但是有内联文档和一组非常好的示例

于 2018-12-01T15:35:03.110 回答