【Python】LGBMの実装【回帰編】

コラム

COLUMN

Python-lgbm

【Python】LGBMの実装【回帰編】

HTML/CSS 基礎

今回はkaggleでよく使われているLGBMについて学習していきたいと思います。

LightGBMは、Light Gradient Boosting Machine の略で、マイクロソフトが開発した 決定木アルゴリズムです。

分類分け、回帰共に対応しています。

今回はボストンの住宅価格を予測するモデルを作成していきます。

まずは必要なモジュールをimportしていきましょう。

次にボストンのデータを用意します。

データの中身は以下になります。target列が住宅価格になります。 target列

次はモデルを作成する前にデータを分割します。 KFoldはデータを等分に分割してくれます。n_splits = 5なので5分割です。

予測に使う特徴量をX、予測したい”target”をyにし、訓練データと学習データに分割します。

次にDatasetでLightGBM専用の形式に変換します。 学習データ(train)と評価データ(valid)の両方で変換しましょう。

最後にパラメータ(学習条件)を辞書型データで設定しましょう。 パラメータのobjectiveである”regression”は回帰分析のことです。

予測結果を見ていきましょう。予測はpredictで予測できます。評価データ(valid)を渡しましょう。 回帰タスクでよく使われる平均二乗誤差の平方根(RMSE)を計算しましょう。

最後に予測結果を可視化します。

y=x

赤線はy = xの直線なので、この線上にあれば価格の予測が正確にできていることになります。