J'essaie de créer un modèle de régression xgboost en python en utilisant l'API scikit-learn, en spécifiant une colonne de pondération. Voici un exemple de code minimal:sample_weight non reconnu dans XGBregressor
from xgboost import XGBRegressor
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.randint(0,100,size=(100, 4)), columns=list('ABCD'))
model = XGBRegressor()
model.fit(df[['A','B']],df['D'],sample_weight=df['C'])
Quand je fais, je reçois la sortie suivante:
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-12-2d43e3c01bbb> in <module>()
6
7
----> 8 model.fit(df[['A','B']],df['D'],sample_weight=df['C'])
TypeError: fit() got an unexpected keyword argument 'sample_weight'
Pour autant que je peux dire, la syntaxe est correcte, selon la documentation: https://xgboost.readthedocs.io/en/latest/python/python_api.html#module-xgboost.sklearn
d'autres ont signalé ce problème aux développeurs XGBoost il y a quelque temps, et il semble avoir été fixé, donc je ne sais pas pourquoi cela se produit encore:
https://github.com/dmlc/xgboost/pull/1874
Comment puis-je installer une version de xgboost qui résout ce problème? Je travaille avec Jupyter Notebook et Anaconda sur Ubuntu 64 bits. Devrais-je essayer de le faire sans Anaconda?