参考にしたサイト
LightGBMは強力らしいんですが、初心者が触ってみる場合は情報が少なすぎています。
Web以外にも書籍で探してみましたがそれでもレベルが高すぎて入門編としては敷居が高すぎるように感じています。
今回は以下サイトの内容がとても分かりやすかったのでこちらを参考に動かしてみました。
tensorflowでも入門編として使用されるMNISTの実装をLigthGBMで実装しているため比較することにより違いが分かりやすいと思います。
勾配ブースティング木手法をPythonで実装して比較していく!
データ準備
データ作成部分についてはtensorflowと大差は無い。
LightGBMで使用する場合はpandasの形式のままではダメなようで「lgb.Dataset」でデータとラベルを定義しています。
パラメータ | 内容 |
data | 学習対象のデータを設定します。pandasのデータフレームはここで指定します。 |
label | dataに対応するラベルを指定します。1次元配列でデータを渡します。 |
reference | validatasion(検証用)のデータを指定します。 |
weight | 重みを指定します。1次元配列でデータを渡します。 |
group | 1回の学習で使用するデータ数を指定します。1次元配列で指定します。 10を指定すると1回の学習で10個のデータを使用するという意味らしい。 |
init_score | データセットのscore初期値。内容はまだ理解できてない。 |
feature_name | dataの列に名称を指定する場合に使用する模様。 |
categorical_feature | ??? |
params | ??? |
free_raw_data | ??? |
コメント