如何限制xgboost执行时间?

时间:2017-11-10 16:03:02

标签: python machine-learning xgboost

如何限制xgboost执行时间(例如,我有一个'计算预算' 1小时在群集中)?还有可能限制xgboost的轮次数吗?

1 个答案:

答案 0 :(得分:1)

如果您直接调用XGBModel.fit功能,可能会由num_boost_round引用。此函数具有callbacks参数(用于限制提升轮数)和EarlyStopException参数,可用于检查运行时间并在需要时引发time_limit - delta。当然,您不能在迭代过程中停止,而是在XGBModel分钟内停止。

不幸的是,XGBRegressor(以及相应的XGBClassifierparams = {'eval_metric': True, ...} trainDmatrix = DMatrix(X, label=y) train(params, trainDmatrix, num_boost_round=10, callbacks=[callback]) )API不允许通过回调,因此您必须将代码重构为低级别API:

//server.js
var configDB = require('./config/database.js');

mongoose.connect(configDB.url);
const db = mongoose.connection;

db.on('error', () => {
    console.log('DB connection Error');
});
db.once('open', () => {
    console.log('DB is connected');
});

require('./config/passport')(passport);