web-dev-qa-db-fra.com

Comment puis-je installer le paquet XGBoost en python sous Windows

J'ai essayé d'installer le paquet XGBoost en python . J'utilise Windows OS, 64bits. J'ai traversé la suite.

Le répertoire du paquet indique que xgboost est instable pour Windows et qu'il est désactivé: l'installation de Pip sous Windows est désactivée pour toute enquête ultérieure. Veuillez l'installer à partir de github . https://pypi.python.org/pypi/ xgboost/

Je ne connais pas très bien Visual Studio, je ne parviens pas à créer XGBoost… Je ne sais pas ce que je peux faire pour utiliser le package xgboost dans le domaine de la science des données.

S'il vous plaît guider, afin que je puisse importer le paquet XGBoost en python.

Merci

9
shan

Si vous utilisez anaconda (ou miniconda), vous pouvez utiliser les éléments suivants:

  • conda install -c conda-forge xgboostMIS À JOUR 2018-10-18

Vérifiez l'installation par:

  • Activer l'environnement (voir ci-dessous)
  • En cours conda list

Pour activer un environnement :

Sous Windows, dans votre invite Anaconda, exécutez (en supposant que votre environnement s'appelle myenv):

  • activate myenv

Sur macOS et Linux, dans votre fenêtre de terminal, exécutez (en supposant que votre environnement s'appelle myenv):

  • source activate myenv

Conda ajoute le nom de chemin myenv à votre commande système.

16
Adrian Torrie

Construisez à partir d'ici: 

  • téléchargez le fichier xgboost whl à partir de ici (veillez à bien correspondre à votre version de Python et à votre architecture système, par exemple, "xgboost-0.6-cp35-cp35m-win_AMD64.whl" pour python 3.5 sur une machine 64 bits)
  • invite de commande ouverte
  • accédez au dossier Téléchargements (ou à l'emplacement où vous avez sauvegardé le fichier whl) pip install xgboost-0.6-cp35-cp35m-win_AMD64.whl (ou le nom de votre fichier whl)
5
Prateek_Nepaliya

Vous devez d’abord construire la bibliothèque avec "make", puis vous pouvez l’installer à l’aide d’anaconda Prompt (si vous le souhaitez sur anaconda) ou de git bash (si vous l’utilisez en Python uniquement).

Tout d'abord suivez le guide officiel avec la procédure suivante (dans Git Bash sous Windows):

git clone --recursive https://github.com/dmlc/xgboost
git submodule init
git submodule update

then installez TDM-GCC ici et procédez comme suit dans Git Bash:

alias make='mingw32-make'
cp make/mingw64.mk config.mk; make -j4

Enfin, procédez comme suit avec anaconda Prompt ou Git Bash:

cd xgboost\python-package  
python setup.py install 

Reportez-vous également à ces excellentes ressources:

Guide officiel

Installation de Xgboost sous Windows

Installation de XGBoost pour Anaconda sous Windows

3
George Liu

Vous pouvez installer Catboost. Il s’agit d’une bibliothèque d’augmentation de gradient récemment ouverte, qui est dans la plupart des cas plus précise et plus rapide que XGBoost et qui prend en charge les fonctionnalités catégorielles . Voici le site de la bibliothèque: https: // catboost.yandex

0

J'ai installé xgboost sous Windows en suivant les ressources ci-dessus, qui n'étaient pas disponibles jusqu'à présent dans pip . Cependant, j'ai essayé avec le code de fonction suivant d'ajuster les paramètres cv:

#Import libraries:
import pandas as pd
import numpy as np
import xgboost as xgb
from xgboost.sklearn import XGBClassifier
from sklearn import cross_validation, metrics   #Additional sklearn functions
from sklearn.grid_search import GridSearchCV   #Perforing grid search

import matplotlib.pylab as plt
%matplotlib inline
from matplotlib.pylab import rcParams
rcParams['figure.figsize'] = 12, 4

train = pd.read_csv('train_data.csv')
target = 'target_value'
IDcol = 'ID'

Une fonction est créée pour obtenir les paramètres optimaux et afficher le résultat sous forme visuelle.

def modelfit(alg, dtrain, predictors,useTrainCV=True, cv_folds=5, early_stopping_rounds=50):

if useTrainCV:
    xgb_param = alg.get_xgb_params()
    xgtrain = xgb.DMatrix(dtrain[predictors].values, label=dtrain[target].values)
    cvresult = xgb.cv(xgb_param, xgtrain, num_boost_round=alg.get_params()['n_estimators'], nfold=cv_folds,
        metrics='auc', early_stopping_rounds=early_stopping_rounds, show_progress=False)
    alg.set_params(n_estimators=cvresult.shape[0])

#Fit the algorithm on the data
alg.fit(dtrain[predictors], dtrain[target_label],eval_metric='auc')

#Predict training set:
dtrain_predictions = alg.predict(dtrain[predictors])
dtrain_predprob = alg.predict_proba(dtrain[predictors])[:,1]

#Print model report:
print "\nModel Report"
print "Accuracy : %.4g" % metrics.accuracy_score(dtrain[target_label].values, dtrain_predictions)
print "AUC Score (Train): %f" % metrics.roc_auc_score(dtrain[target_label], dtrain_predprob)

feat_imp = pd.Series(alg.booster().get_fscore()).sort_values(ascending=False)
feat_imp.plot(kind='bar', title='Feature Importances')
plt.ylabel('Feature Importance Score')

Maintenant, lorsque la fonction est appelée pour obtenir les paramètres optimaux:

  #Choose all predictors except target & IDcols
  predictors = [x for x in train.columns if x not in [target]]
  xgb = XGBClassifier(
  learning_rate =0.1,
  n_estimators=1000,
  max_depth=5,
  min_child_weight=1,
  gamma=0,
  subsample=0.7,
  colsample_bytree=0.7,
  objective= 'binary:logistic',
  nthread=4,
  scale_pos_weight=1,
  seed=198)
 modelfit(xgb, train, predictors)

Bien que le tableau d’importance des fonctions soit affiché, il manque les informations sur les paramètres dans la case rouge en haut du tableau:  enter image description here Les personnes consultées qui utilisent Linux/Mac OS et qui ont installé xgboost. Ils obtiennent les informations ci-dessus ... Je me demandais si cela était dû à une implémentation spécifique, que je construisais et que je l’installais dans des fenêtres. Et comment je peux obtenir les informations de paramètres affichées au-dessus du graphique . À partir de maintenant, je reçois le graphique et non la boîte rouge et les informations qu'il contient . Merci.

0
shan

Outre ce qui est déjà sur le github des développeurs, qui construit à partir des sources (création d'un environnement c ++, etc.), j'ai trouvé un moyen plus simple de le faire, ce que j'ai expliqué ici avec des détails. En gros, vous devez vous rendre sur un site Web créé par UC Irvine et télécharger un fichier .whl, puis cd dans le dossier et installer xgboost avec pip.

0
Roozbeh Bakhshi