これまで取り扱ってきた決定木アルゴリズムをまとめます。
決定木
木構造(樹形図)を用いて予測を行う手法です。
- 単純な樹形図のため、モデルの解釈がしやすい。
- 木の深さや最小サンプル数の調整で、ある程度は緩和できるものの過学習に陥るリスクが高い。
ランダムフォレスト
アンサンブル手法を用いた手法です。決定木を複数生成し学習を行います。
各決定木を並列に扱い、それぞれの結果の平均値をとります。
- それぞれの決定木の結果の平均をとることで、予測精度は保ちつつ、過剰適合を抑制できる。
- 決定木を複数使用するため、通常の決定木よりも計算コストが高く、またモデルが複雑になり解釈が難しくなる。
勾配ブースティング決定木(XgBoost)
アンサンブル法を用いた手法です。決定木を複数生成し学習を行います。
1つ前の決定木の誤りを修正して、次の決定木を生成します。。
- 高い精度が出やすく、人気のある手法。
- パラメータ設定の影響を受けやすいため、パラメータ調整には注意が必要。
パラメータチューニング手法に関してもまとめます。
グリッドサーチ
あらかじめ指定したパラメータの候補値の全通りの組み合わせを検証し、最も精度が高いパラメータの組み合わせを調べる手法です。
- 指定したパラメータの範囲では、最もスコアが高い組み合わせを確実に得ることができる。
- パラメータの全組み合わせ × 交差検証の分割数だけ学習・評価が行われるので、計算コストが高い。
ランダムサーチ
あらかじめ指定したパラメータの候補値のランダムな組み合わせを指定した回数だけ検証し、その中でも最も精度が高いパラメータの組み合わせを調べる手法です。
- グリッドサーチよりも計算量が少なくて済む。
- 最適な組み合わせが確実に得られるわけではない。
ベイズ最適化
グリッドサーチとランダムサーチの間をとったベイズ最適化という手法もあります。
ベイズ最適化はscikit-learnのBayesSearchCVというクラスを使って実行できます。