web-dev-qa-db-ja.com

XGBoostパッケージをWindowsでpythonにインストールする方法

XGBoostパッケージをPythonでインストールしようとしました。私はWindows OS、64ビットを使用しています。私は次のことを経験しました。

パッケージディレクトリには、xgboostがWindowsでは不安定で無効になっていることが記載されています。Windowsでのpipインストールは、現在、さらなる調査のために無効になっています。githubからインストールしてください。 https://pypi.python.org/pypi/xgboost/

私はVisual Studioに精通しておらず、XGBoostの構築の問題に直面しています。データサイエンスでxgboostパッケージを利用する機会がありません。

XGBoostパッケージをPythonでインポートできるように、ガイドしてください。

ありがとう

11
shan

anaconda(またはminiconda)を使用している場合、次を使用できます。

インストールの確認方法:

  • 環境のアクティブ化(以下を参照)
  • ランニング conda list

環境をアクティブにするには

Windowsでは、Anacondaプロンプトで次を実行します(環境の名前がmyenvと仮定します):

  • activate myenv

MacOSおよびLinuxでは、ターミナルウィンドウで次を実行します(環境の名前がmyenvと仮定します):

  • source activate myenv

Condaは、システムコマンドにパス名myenvを付加します。

15
Adrian Torrie

ここからビルドします:

  • xgboost whlファイルを here からダウンロードします(pythonバージョンとシステムアーキテクチャに一致することを確認してください。たとえば、xx python 3.5、64ビットマシン)
  • コマンドプロンプトを開く
  • ダウンロードフォルダー(またはwhlファイルを保存した場所)にcd pip install xgboost-0.6-cp35-cp35m-win_AMD64.whl(またはwhlファイルの名前)
6

最初に「make」でライブラリをビルドする必要があります。次に、anaconda Prompt(anacondaで必要な場合)またはgit bash(Pythonのみで使用する場合)を使用してインストールできます。

最初 公式ガイドに従って 次の手順で(WindowsのGit Bashで):

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

次に、 ここにTDM-GCCをインストールします そして、Git Bashで以下を実行します。

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

最後に、anaconda PromptまたはGit Bashを使用して以下を実行します。

cd xgboost\python-package  
python setup.py install 

これらの優れたリソースも参照してください。

公式ガイド

WindowsでのXgboostのインストール

WindowsでのAnacondaのXGBoostのインストール

4
George Liu

Catboostをpipインストールできます。これは、最近オープンソース化された勾配ブースティングライブラリであり、ほとんどの場合、XGBoostよりも正確で高速であり、カテゴリ機能をサポートしています。ライブラリのサイトは次のとおりです。 https://catboost.ai

次のコマンドは機能するはずですが、このコマンドに問題がある場合

conda install -c conda-forge xgboost

最初に環境をアクティブにします。あなたの環境は単にcondaターミナルで書くという名前だと仮定します:

activate <MY_ENV>

その後

 pip install xgboost
1

上記のリソースに従って、Windows OSにxgboostをインストールしましたが、これは現在までpipでは使用できません。ただし、次の関数コードを試して、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'

最適なパラメーターを取得し、出力を視覚的な形式で表示する関数が作成されます。

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')

さて、最適なパラメーターを取得するために関数が呼び出されると:

  #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)

機能の重要度のグラフは表示されますが、グラフの上部にある赤いボックスのパラメーター情報がありません: enter image description here linux/mac OSを使用してxgboostをインストールした人に相談しました。彼らは上記の情報を得ています。私はそれが特定の実装によるものかどうか疑問に思っていました、私はビルドしてWindowsにインストールしました。そして、チャートの上に表示されるパラメータ情報を取得する方法。今のところ、赤いボックスとその中の情報ではなく、チャートを取得しています。ありがとう。

0
shan

ソースからビルドしている開発者のgithubに既にあるもの(c ++環境の作成など)に加えて、それを行う簡単な方法を見つけました here 詳細基本的には、UC IrvineのWebサイトにアクセスして.whlファイルをダウンロードし、そのフォルダーにcdしてxgboostをpipでインストールする必要があります。

0
Roozbeh Bakhshi