ランダムフォレストとは?分類・回帰に使えるアンサンブル手法を解説
ランダムフォレストは複数の決定木を組み合わせて予測精度を高めるアンサンブル学習手法です。バギングの仕組み、特徴量のランダム選択、変数重要度の活用法、ビジネスでの実践的な使い方を解説します。
ランダムフォレストとは
ランダムフォレストとは、複数の決定木を並列に構築し、それぞれの予測結果を統合することで精度を高めるアンサンブル学習手法です。2001年にレオ・ブレイマンによって提唱されました。
ランダムフォレストは2001年にカリフォルニア大学バークレー校の統計学者レオ・ブレイマンが論文”Random Forests”で提唱しました。バギングの考え方自体もブレイマンが1996年に発表したもので、決定木の不安定性を克服するための体系的なアプローチです。
個々の決定木は過学習しやすいという弱点を抱えています。ランダムフォレストはバギング(Bootstrap Aggregating)と特徴量のランダム選択を組み合わせることで、この弱点を克服します。分類問題では多数決、回帰問題では平均値により最終的な予測を行います。
構成要素
バギング(Bootstrap Aggregating)
元のデータセットから復元抽出で複数のサブセットを生成します。各サブセットで独立した決定木を学習させます。
- 元データからランダムに同じサイズのサブセットを作成
- 復元抽出のため、一部のデータは重複し一部は含まれない
- 含まれなかったデータ(OOBデータ)は検証に活用可能
特徴量のランダム選択
各ノードの分岐時に、全特徴量のうちランダムに選んだ一部のみを候補とします。
| パラメータ | 分類問題の推奨値 | 回帰問題の推奨値 |
|---|---|---|
| 候補特徴量数 | 全特徴量の平方根 | 全特徴量の3分の1 |
| 木の本数 | 100〜500本 | 100〜500本 |
| 最大深さ | 制限なし(デフォルト) | 制限なし(デフォルト) |
変数重要度
各特徴量がモデルの予測精度にどれだけ寄与しているかを定量化する指標です。
- 不純度ベース: 各特徴量による分岐での不純度減少量の合計
- 置換ベース: 特徴量の値をシャッフルしたときの精度低下量
- ビジネス上のドライバー特定に直接活用できる
実践的な使い方
ステップ1: データの準備と前処理
学習用データを用意し、欠損値の処理やカテゴリ変数のエンコードを行います。ランダムフォレストは特徴量のスケーリングが不要という利点があります。外れ値にも比較的頑健です。
ステップ2: モデルの構築と学習
木の本数、候補特徴量数、最大深さなどのハイパーパラメータを設定します。まず木の本数を十分に大きくし、OOBエラー率が安定する本数を確認します。
ステップ3: 変数重要度の分析
学習済みモデルから変数重要度を算出します。上位の特徴量がビジネス上のどのような要因に対応するかを解釈し、施策立案に活用します。
ステップ4: 予測と評価
テストデータに対して予測を行い、精度指標を確認します。分類ではAUC-ROCや混同行列、回帰ではRMSEやR二乗値を確認します。
活用場面
- 顧客の離反予測やセグメント分類
- 与信審査におけるリスクスコアリング
- 需要予測における特徴量の重要度分析
- マーケティングにおけるレスポンス予測
- 製造業での品質異常の要因特定
注意点
ランダムフォレストは「ブラックボックス」になりやすい手法です。変数重要度は算出できますが、個々の予測がなぜその結果になったかの説明は困難です。説明責任が求められる場面では、SHAP値などの解釈手法を併用してください。
外挿の限界
学習データの範囲外への外挿は苦手です。回帰問題で学習データの値域を超えた予測が必要な場合は注意が必要です。また、高次元かつスパースなデータでは性能が低下する傾向があります。
計算コストの増大
木の本数を増やしすぎると計算コストが膨らみます。OOBエラー率が収束していれば、それ以上本数を増やしても精度向上は見込めません。メモリ使用量もデータサイズと木の本数に比例して増加するため、実行環境のリソースを考慮した設計が必要です。
変数重要度の解釈における注意
不純度ベースの変数重要度は、カーディナリティ(取りうる値の数)が高い特徴量を過大評価する傾向があります。置換ベースの重要度と併用し、結果を慎重に解釈してください。
まとめ
ランダムフォレストは、複数の決定木を並列に組み合わせることで高い予測精度と安定性を実現するアンサンブル手法です。変数重要度を通じてビジネス上の重要な要因を特定できるため、コンサルティングの現場でも実用性が高い分析手法です。