書籍 LightGBM予測モデル実装ハンドブック のサポートサイトです。本書籍で使用するサンプルコードを提供します。
- 第1章:予測モデルの概要
- 第2章:回帰の予測モデル
- 第3章:分類の予測モデル
- 第4章:回帰の予測モデル改善
- 第5章:LightGBMへの発展
ページ | 誤 | 正 | 補足 |
---|---|---|---|
p4 謝辞 | 株式会社ウェブフォーマ ー | 株式会社ウェブファーマー | 会社名の記載ミス |
p17 上部 | 当月の月末までの取引量を | 今月の月末までの取引量を | 誤字 |
p60 回帰係数 | 数式の誤記載 | ||
p112~232 SHAPの引数 | feature_pertubation | feature_perturbation | Githubコードの2_4、3_3、4_3の引数は修正済み |
p129 前処理後のincome件数内訳の実行結果 | <=50K 24720、>50K 7841 | <=50K 21999、>50K 7171 | 誤って前処理前の件数を記載 |
p306 中央 | インデックスj関係は以下の関係になります。 | インデックスjは以下の関係になります。 | 誤字 |
p340 1本目の木の可視化 | figsize=(20,20) | figsize=(20, 20) | スペースを追加 |
サンプルコードの間違いや動作不具合は本リポジトリのIssuesに投稿してください。
動作不具合についての投稿では、以下を記載してください。
- 実行プログラム名
- エラーメッセージ
- ライブラリのバージョン
その他問い合わせはメールアドレス [email protected] までお願いします。
動作確認したライブラリのバージョンは執筆時点のGoogle Colaboratoryの最新バージョンになります。Colab環境のバージョンは定期的に更新するので、プログラム実行時にエラーが発生する場合、記載のバージョンに戻して実行してください。Dockerコンテナの環境は記載のバージョンでライブラリを固定してます。
- Python:3.10.11
- pandas:1.5.3
- numpy:1.22.4
- matplotlib:3.7.1
- seaborn:0.12.2
- scikit-learn:1.2.2
- graphviz:0.20.1
- xgboost:1.7.5
- lightgbm:3.3.5
- shap:0.41.0
- optuna:3.1.1
- plotly:5.13.1
Google ColaboratoryはクラウドのJupyter Notebook環境を提供します。1.3節の手順を参考に初期設定して、Googleドライブにサンプルコードを格納して、Notebookを実行してください。
PCのDockerコンテナ環境でサンプルコードを実行できるようDockerfile
を用意しました。以下の手順を参考に環境構築して、Jupyter LabのNotebookを実行してください。
-
前提条件
-
コマンドラインでリポジトリをgit cloneし、ディレクトリ
lightgbm_sample
に移動します。
# リポジトリの取得
$ git clone https://github.com/ayukat1016/lightgbm_sample.git
# ディレクトリの移動
$ cd lightgbm_sample/
# ディレクトリの確認(`/xxx/repository`はユーザにより異なります。)
$ pwd
/home/xxx/repository/lightgbm_sample
# ファイルの確認
$ ls
Dockerfile LICENSE README.md chapter2 chapter3 chapter4 chapter5 poetry.lock pyproject.toml requirements.txt
Dockerfile
を指定して、imageをビルドします。
# ビルド
$ docker build --platform linux/amd64 -t lightgbm_sample:lightgbm_sample_1.0.0 -f Dockerfile .
- imageを指定してコンテナを起動、コンテナ内でJupyter Labのコマンドを実行します。サンプルコードのNotebookは
-v
オプションでコンテナ内にマウントします。
# コンテナ起動+Jupyter Lab実行
$ docker run -it --rm --name ligthgbm_sample -v $PWD:/opt -p 8888:8888 lightgbm_sample:lightgbm_sample_1.0.0 jupyter lab --ip=0.0.0.0 --allow-root --NotebookApp.token=''
-
webブラウザのURL http://localhost:8888 にアクセスし、サンプルコードを実行します。
-
利用終了時はコマンドラインで Ctrlキー + C を押下して、Jupyter Labを停止してください。このとき、コンテナは自動的に停止、削除されます。
PCの仮想環境でサンプルコードを実行できるようpyproject.toml
を用意しました。以下の手順を参考に環境構築して、Jupyter LabのNotebookを実行してください。
-
前提条件
-
コマンドラインでリポジトリをgit cloneし、ディレクトリ
lightgbm_sample
に移動します。
# リポジトリの取得
$ git clone https://github.com/ayukat1016/lightgbm_sample.git
# ディレクトリの移動
$ cd lightgbm_sample/
# ディレクトリの確認(`/xxx/repository`はユーザにより異なります。)
$ pwd
/home/xxx/repository/lightgbm_sample
# ファイルの確認
$ ls
Dockerfile LICENSE README.md chapter2 chapter3 chapter4 chapter5 poetry.lock pyproject.toml requirements.txt
- PyenvでPythonのバージョンを指定します。
# Pythonのインストール
$ pyenv install 3.10.11
# バージョンの指定
$ pyenv local 3.10.11
# バージョンの確認
$ pyenv versions
system
* 3.10.11
- Poetryの仮想環境を構築し、仮想環境に
pyproject.toml
で指定したライブラリをインストールします。
# 仮想環境の構築
$ poetry install
# 仮想環境の確認
$ poetry env list
lightgbm-sample-qPUWcycm-py3.10 (Activated)
- 決定木の可視化に使用するGraphvizをインストールします。
# graphvizのインストール(実行時にsudoパスワードを入力)
$ sudo apt update
$ sudo apt install -y graphviz
# graphvizの確認
$ dot -V
dot - graphviz version 2.43.0 (0)
- poetryの仮想環境で、Jupyter Labのコマンドを実行します。
# 仮想環境起動+Jupyter Lab実行
$ poetry run jupyter lab --allow-root --NotebookApp.token='' --port=8888
-
webブラウザのURL http://localhost:8888 にアクセスし、サンプルコードを実行します。
-
利用終了時はコマンドラインで Ctrlキー + C を押下して、Jupyter Labを停止してください。
日付 | 変更内容 |
---|---|
2023/06/17 | 初版 |
2023/08/16 | 初版の正誤表を追加 |
2024/03/19 | Dockerコンテナの実行環境を追加 |
2024/05/05 | 正誤表の更新 |
2024/05/07 | Poetryを使用したPython実行環境を追加 |
2024/07/17 | 記載の見直し |
2024/08/01 | Issues#9,#10を正誤表に反映 |