
【Python】LGBMの実装【回帰編】
今回はkaggleでよく使われているLGBMについて学習していきたいと思います。
LightGBMは、Light Gradient Boosting Machine の略で、マイクロソフトが開発した 決定木アルゴリズムです。
分類分け、回帰共に対応しています。
今回はボストンの住宅価格を予測するモデルを作成していきます。
まずは必要なモジュールをimportしていきましょう。
次にボストンのデータを用意します。
データの中身は以下になります。target列が住宅価格になります。
次はモデルを作成する前にデータを分割します。 KFoldはデータを等分に分割してくれます。n_splits = 5なので5分割です。
予測に使う特徴量をX、予測したい”target”をyにし、訓練データと学習データに分割します。
次にDatasetでLightGBM専用の形式に変換します。 学習データ(train)と評価データ(valid)の両方で変換しましょう。
最後にパラメータ(学習条件)を辞書型データで設定しましょう。 パラメータのobjectiveである”regression”は回帰分析のことです。
予測結果を見ていきましょう。予測はpredictで予測できます。評価データ(valid)を渡しましょう。 回帰タスクでよく使われる平均二乗誤差の平方根(RMSE)を計算しましょう。
最後に予測結果を可視化します。
赤線はy = xの直線なので、この線上にあれば価格の予測が正確にできていることになります。