初めてのXGBoost
概要
xgboostの使える環境を構築し、必要最低限の流れを確認する。pythonの環境が整っていない場合はこちら。
環境
macOS Mojave 10.14.5
pyenv 1.2.13
anaconda3-5.3.0
conda 4.5.11
python 3.7.4
XGBoostのインストール
公式サイトではpip
を使用してのインストールですが、誰かがconda
でもインストールできるようにしてくれたらしいのでそちらを利用します。pip
でも問題ないかと思いますが、conda
とpip
はあまり同時に使いたくないので、anacondaを通してxgboost
をインストールする。anacondaが初めての方はこちら。
$ conda create -n xgb py-xgboost pandas numpy matplotlib jupyter $ conda activate
sklearn API
xgboostはsklearn風に使えるAPIが存在する。最新の機能等の実装が遅れている時もありますが、sklearnに慣れてしまっているのでこちらを利用する。モデルの作成、訓練、予測までの必要最低限の流れを紹介します。
import xgboost.XGBRegressor as XGBR import numpy as np #create data np.random.seed(seed=0) x_train = np.random.rand(100, 10) #10個の特徴量を持つ100個のデータ y_train = np.random.rand(100, 1) #ラベルデータ100個 x_test = np.random.rand(20, 10) #10個の特徴量を持つ20個のデータ y_test = np.random.rand(20, 1) #ラベルデータ20個 #create model model = XGBR() #training model.fit(x_train, y_train) #prediction y_pred = model.predict(x_test) #plot import matplotlib.pyplot as plt plt.figure(figsize=(6,6)) plt.subplot(111) plt.scatter(y_test, y_pred) plt.xlabel('y_test') plt.ylabel('y_pred') plt.show()
最後に
今回はとりあえずxgboostを動かしてみました。では、実際にどんなパラメータを調整する必要があるのか。パラメータの詳細はこちら。