テーブルデータを使って予測モデルを作成してみよう
書籍『LightGBM予測モデル実装ハンドブック』より、第1章-1『予測モデルの概要-予測モデル』から「テーブルデータの予測モデル」を公開します。予測モデルの実装プロセスを学びましょう。
前回の記事『機械学習には「教師あり学習」「教師なし学習」「強化学習」があります』の続きとなります。先に読むことをおすすめします。
テーブルデータの予測モデル
テーブルデータを例に予測モデルの実装プロセスを具体化します。テーブルデータは図1.2のように、行と列で構成された表形式のデータで、行はデータ1件ごとのレコード(インスタンス)、列はレコード1件ごとの属性情報を表し、特徴量の列と目的変数の列があります。
本書は、webで公開されているデータセットをテーブルデータに使用します。テーブルデータを使って、予測モデルを作成するとき、テーブルデータを「学習用」と「評価用」のレコードに分割する必要があります。最も簡単なデータセットの分割方法は、学習データとテストデータの2つに分割する方法です。学習データには特徴量と目的変数があり、モデルの学習に使用します。同様に、テストデータには特徴量と目的変数があり、予測値と目的変数を突き合わせて、モデルを評価します。
予測モデルは図1.3のように特徴量を入力し、予測値を出力します。モデルは特徴量の重みを表すパラメータを持っています。パラメータはモデルの特性を表す数値であり、モデルは入力された「特徴量の数値」と「パラメータの数値」を組み合わせて予測値を計算します。予測モデルの作成プロセスは学習→予測→評価の3プロセスに整理できます。
学習
予測モデルの中のパラメータは可変です。学習はモデルの予測値と目的変数の正解値で誤差を計算し、誤差が小さくなるようモデルの中のパラメータを最適化します。
予測
学習が終わったら、テストデータの特徴量をモデルに入力し、予測値を出力します。このとき、モデルの中のパラメータを固定して予測値を計算します。
評価
評価は、目的変数と予測値を評価指標に入力して、モデルの精度をスコア化します。図1.3の例だとモデルの堅牢性を担保するため、学習に使用していないテストデータで評価します。モデルは学習データの目的変数を使用し、学習しているため、正解値を知っています。そのため、学習データは最終的なモデルの良し悪しの評価には使えません。
次回は、第1章-2『予測モデルの概要-機械学習アルゴリズム』から「機械学習アルゴリズムの全体像」を公開します。
本書の目次
第1章 予測モデルの概要
1.1 予測モデル
イントロダクション
テーブルデータの予測モデル
1.2 機械学習アルゴリズム
機械学習アルゴリズムの全体像
決定木のアンサンブル学習
勾配ブースティングのライブラリ
1.3 環境構築
サンプルコード
Colaboratoryの初期設定とサンプルコードの格納
第2章 回帰の予測モデル
2.1 データ理解
住宅価格データセット
1変数EDA
2変数EDA
回帰の評価指標
2.2 線形回帰
単回帰のアルゴリズム
単回帰の予測値の可視化
重回帰のアルゴリズム
正則化
特徴量の標準化
重回帰の学習→予測→評価
パラメータによる予測値の解釈
2.3 回帰木
決定木
回帰木のアルゴリズム
回帰木のアルゴリズム(学習)
深さ1の回帰木の可視化
深さ1の回帰木の予測値の検証
回帰木の深さと予測値
深さ2の回帰木の可視化
回帰木の正則化
回帰木の学習→予測→評価
2.4 LightGBM回帰
勾配ブースティング回帰のアルゴリズム
深さ1のLightGBM回帰の可視化
深さ1のLightGBM回帰の予測値の検証
LightGBM回帰の学習→予測→評価
SHAP概要
SHAPによる予測値の説明
第3章 分類の予測モデル
3.1 データ理解
国勢調査データセット
数値変数EDA
カテゴリ変数EDA
前処理
分類の評価指標
混同行列と正解率の検証
3.2 ロジスティック回帰
ロジスティック回帰のアルゴリズム
ロジスティック回帰の学習→予測→評価
パラメータによる予測値の解釈
3.3 LightGBM分類
勾配ブースティング分類のアルゴリズム
LightGBM分類の学習→予測→評価
SHAPによる予測値の説明
3.4 検証データ評価
検証データのモデル評価
ホールドアウト法
不均衡ラベルのホールドアウト法
アーリーストッピング
LightGBM分類(アーリーストッピング)の実装
クロスバリデーション
クロスバリデーションの実装
第4章 回帰の予測モデル改善
4.1 データ理解
ダイヤモンド価格データセット
1数値変数EDA
2数値変数EDA
カテゴリ変数EDA
前処理
評価指標の選択
4.2 線形回帰
線形回帰の予測モデル
Lasso回帰の予測モデル
4.3 LightGBM回帰
LightGBM回帰の予測モデル
SHAPによる予測値の説明
クロスバリデーションのモデル評価
クロスバリデーション後の予測
4.4 特徴量エンジニアリング
新規特徴量の追加
新規特徴量:数値変数×数値変数
新規特徴量:数値変数×カテゴリ変数
新規特徴量:カテゴリ変数×カテゴリ変数
新規特徴量を追加した予測モデル
クロスバリデーションのモデル評価
4.5 ハイパーパラメータ最適化
LightGBMのハイパーパラメータ
Optunaを用いたハイパーパラメータ最適化の実装
最適化ハイパーパラメータを用いた予測モデル
クロスバリデーションのモデル評価
LightGBMモデル改善の結果
第5章 LightGBMへの発展
5.1 回帰木の計算量
学習アルゴリズム
回帰木の可視化
回帰木の予測値の検証
5.2 回帰木の勾配ブースティング
学習アルゴリズム
二乗誤差の重み
勾配ブースティングの可視化
勾配ブースティングの予測値の検証
5.3 XGBoost
XGBoostの改善点
アンサンブル学習の目的関数
XGBoostの目的関数
葉の分割条件
類似度によるデータ分割点の計算
二乗誤差の重みと類似度
XGBoostの可視化
XGBoostの予測値の検証
XGBoostの枝刈り
5.4 LightGBM
LightGBMの改善点
ヒストグラムによる学習の高速化
深さから葉への探索方法の変更
カテゴリ変数のヒストグラム化
LightGBMの可視化
LightGBM(leaf-wise)の可視化
5.5 学習時間の比較
太陽系外惑星データセットと前処理
ライブラリの学習時間比較
この記事が気に入ったらサポートをしてみませんか?