2017-09-19 3 views
1

Selon sa documentation, xgboost a un paramètre n_jobs. Cependant, lorsque je tente de mettre n_jobs, je reçois cette erreur:Filetage parallèle avec xgboost?

TypeError: __init__() got an unexpected keyword argument 'n_jobs' 

Même problème pour d'autres paramètres tels que random_state. J'ai supposé que ceci pourrait être un problème de mise à jour, mais il semble que j'ai la dernière version (0.6a2, installée avec pip).

Il n'y a pas beaucoup besoin pour moi de reproduire l'erreur:

from xgboost import XGBClassifier 
estimator_xGBM = XGBClassifier(max_depth = 5, learning_rate = 0.05, n_estimators = 400, n_jobs = -1).fit(x_train) 

Toutes les idées?

+0

Pourriez-vous ajouter un exemple [Minimal, Complete, and Verifiable] (https://stackoverflow.com/help/mcve)? –

+0

Ajouté C'est tout ce dont j'ai besoin pour obtenir l'erreur –

+0

J'ai reproduit le problème, donc ce n'est pas quelque chose de bizarre avec votre installation. Cela semble être un bug dans 'xgboost', bien que je ne puisse pas comprendre comment cela se passe (n_jobs est un kwarg explicite de XGBClassifier). Essayez d'ouvrir un problème sur [Github] (https://github.com/dmlc/xgboost/issues)? –

Répondre

3

J'ai installé hier xgboost (25/09/2017):

si vous installez avec pépin ou Conda, la version xgboost ne supporte pas le paramètre n_jobs; seulement le paramètre nthreads. Si vous construisez xgboost à partir du dépôt github, vous pouvez cependant utiliser n_jobs.

+0

Comme pour 2018-01-18, 'n_jobs' est là lorsqu'il est installé avec' pip' ('xgboost' v0.7). –