【Python】LGBMの実装【回帰編】
記事の監修者
1000万PVを超える新規メディアの立ち上げを開発責任者として行う。株式会社ウィルゲートを退社後、民泊の運用代行業者のTwistを設立し上場企業に売却。2016年株式会社Market Drive(現テックアイエス)を設立し、取締役副社長に就任。200万ダウンロードを超えるアプリを開発。現在はプログラミングスクールのカリキュラム制作も担当。現場でのエンジニアリングと経営の両面を支えている。
今回は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の直線なので、この線上にあれば価格の予測が正確にできていることになります。
全国どこにいても学べる!超優良のプログラミングスクールまとめました【国内完全網羅】現役エンジニアが厳選したおすすめのプログラミングスクール
自分の住んでるエリアでプログラミングスクールを探したい⭐️
エリア別で、おすすめのプログラミングスクールをまとめました。
ぜひ参考にしてみてくださいね。
北海道 / 東北
関東
群馬 / 栃木 / 埼玉 / 茨城 / 東京 / 千葉 / 神奈川
中部
福井 / 石川 / 岐阜 / 愛知 / 富山 / 長野 / 山梨 / 静岡 / 新潟
近畿
兵庫 / 京都 / 大阪 / 滋賀 / 奈良 / 三重 / 和歌山