公式
pandas型で説明変数/被説明変数、学習/テスト、データを用意する。
x_train, y_train
x_valid, y_valid
モデルを作成して予測値を計算する。
import pandas as pd
import xgboost as xgb
dtrain = xgb.DMatrix(x_train,y_train)
dvalid = xgb.DMatrix(x_valid,y_valid)
params = {
"objective" : "reg:squarederror",
"eval_metric" : "rmse"
}
model = xgb.train(
params = params,
dtrain = dtrain,
evals = [(dtrain, "train"), (dvalid, "valid")],
num_boost_round = 100
)
pred = model.predict(xgb.DMatrix(x_valid))
プロットする。
import matplotlib.pyplot as plt
import numpy as np
plt.scatter(y_valid, pred, alpha = 0.5)
plt.plot(np.linspace(0, 200, 400), np.linspace(0, 200, 400), "red")
plt.show()
誤差を調べる。
from sklearn.metrics import mean_squared_error
mse = mean_squared_error(y_valid, pred)
rmse = np.sqrt(mse)
print(rmse)