決定木とランダムフォレスト

解釈しやすい決定木と、強力なアンサンブル学習ランダムフォレストの仕組みを学びます。

解釈しやすい決定木と、その集合学習である強力なランダムフォレスト。

白峰 リリ(普段) 白峰 リリ

決定木って『はい/いいえ』で枝分かれするやつだよね?

神楽 モニカ 先生(笑顔) 神楽 モニカ 先生

そう、決定木(Decision Tree)は条件分岐の組み合わせでデータを分類・回帰する木構造のモデル。 解釈しやすいのが大きな魅力よ。

紅林 かえで(普段) 紅林 かえで

分割の基準は情報利得やジニ不純度。 各ノードで『どの特徴量・閾値で分けると最もきれいに分かれるか』を選ぶの。

藍沢 しずく(普段) 藍沢 しずく

ジニ不純度って何ですかぁ?

紅林 かえで(普段) 紅林 かえで

補足すると、あるノードでクラスがどれだけ混じっているかを表す指標ね。 1クラスだけなら0で、混じるほど大きくなる。 だから不純度の減少が一番大きい分割を選ぶの。

白峰 リリ(普段) 白峰 リリ

決定木って弱点もあるって聞いたんだけど?

神楽 モニカ 先生(普段) 神楽 モニカ 先生

そうなのよ、深い木にすると過学習しやすいの。 それに、訓練データのわずかな違いで木構造がガラッと変わる『不安定さ』もあるのよ。

紅林 かえで(普段) 紅林 かえで

そこで活躍するのがランダムフォレスト。 多数の決定木を作って多数決(分類)/平均(回帰)で予測するアンサンブル学習よ。

藍沢 しずく(笑顔) 藍沢 しずく

森に木を集めるイメージですねぇ♪

神楽 モニカ 先生(普段) 神楽 モニカ 先生

ランダムフォレストの工夫は大きく2つあって、(1)バギング=訓練データをランダムサンプリングすること、(2)各分割で使う特徴量もランダムに選ぶこと、なのよ。 こうすると木同士の相関が下がって、安定した強いモデルになるのね。

白峰 リリ(笑い) 白峰 リリ

実務でもよく使われてるって聞くよ!

紅林 かえで(普段) 紅林 かえで

ええ、解釈性は単一の決定木より劣るけど、デフォルト設定でもよく動く実用的な手法ね。 {kw('特徴量重要度')}が出せるのも便利よ。

紅林 かえで(普段) 紅林 かえで

DS検定では『決定木の不純度』『ランダムフォレストはバギング+特徴量サンプリング』が頻出よ。

確認クイズ

ランダムフォレストの工夫として正しいのはどれか。

  1. 全ての訓練データで全ての特徴量を使い、深い木を1つだけ作る
  2. 訓練データをランダムサンプリングし、各分割で使う特徴量もランダム選択する
  3. 決定木の代わりにロジスティック回帰を多数組み合わせる
  4. 特徴量を全て削除して学習する
こたえを見る

正解: 2. 訓練データをランダムサンプリングし、各分割で使う特徴量もランダム選択する

訓練データをランダムサンプリング(バギング)し、各分割で使う特徴量もランダム選択するのがランダムフォレストの2大工夫です。 これで木同士の相関が低下し、過学習しにくく安定したモデルになります。

🔖 この記事の関連書籍

Amazonアソシエイトリンクを含みます。他分野は おすすめ書籍ページ へ。