ランダムフォレスト(Random Forest)とは、複数の決定木を組み合わせたアンサンブル学習手法です。各決定木をランダムに構築し、その予測を集約することで、個々の決定木よりも高い予測精度と汎化性能を実現します。
アルゴリズムの仕組み
ランダムフォレストは2つのランダム性を導入します。まず、ブートストラップサンプリングにより各決定木に異なるデータサブセットを割り当てます。次に、各ノードの分割時にランダムに選んだ特徴量のサブセットの中から最適な分割を選択します。
| ひとことで言うと | たくさんの決定木を作り、多数決で決める安定した予測モデル。 |
|---|---|
| 何がうれしいか | 設定をあまり調整しなくても高精度。どの特徴が効いたかも分かる。 |
| 注意点 | 木が多いぶん、1本の決定木ほど判断理由を追いにくい。 |
予測の集約
分類タスクでは多数決、回帰タスクでは平均値により各決定木の予測を集約します。この集約プロセスにより、個々の決定木のバリアンスが低減され、安定した予測が可能になります。
1データを抽出重複ありで無作為に選ぶ
▶
2特徴もランダム使う列も一部に絞る
▶
3木を何本も作る100本〜1000本
▶
4全部で予測各木が答えを出す
▶
5多数決/平均まとめて最終予測
※ 1本1本は弱くても、たくさん集めて平均すると安定します。
特徴量重要度
ランダムフォレストは各特徴量の予測への貢献度(特徴量重要度)を算出できるため、特徴量選択やデータ分析にも活用できます。実務で非常に人気の高いアルゴリズムです。