执行网格搜索后分配模型参数

Assigning model parameters after having performed grid search

如何在执行网格搜索后分配模型参数?

现在,我就是这样做的:

model = ExtraTreesRegressor(n_estimators=10000, n_jobs=-1, random_state=0)

param_grid = {
     'n_estimators': [1000, 2500, 5000, 7500],
     'max_features': ['auto', 'sqrt', 'log2']
}

gs = GridSearchCV(estimator=model, param_grid=param_grid)
gs.fit(data, target)
logger.info(gs.best_params_)
model = gs.best_estimator_

我想将参数 njobs=-1 分配给模型。网格搜索后如何执行此操作?

在您的代码中,生成的模型应该已经将 n_jobs=-1 作为其参数之一,因为您在将模型传递给 GridSearchCV 之前已将其初始化为如此。网格搜索只会搜索您指定的参数,即 n_estimatorsmax_features.

不过,如果您想更新估算器的参数,您始终可以使用 set_params() 函数:

model.set_params(n_jobs=-1)