決定木分析とは?分類・予測の仕組みとビジネスでの実践的活用法
決定木分析はデータを条件分岐で分類・予測する手法です。CART・ID3などのアルゴリズム、分岐条件の設定方法、過学習対策まで実務視点で解説します。
決定木分析とは
決定木分析(Decision Tree Analysis)とは、データを条件分岐の繰り返しによって分類または予測する機械学習の手法です。樹木が幹から枝へと分かれていくように、各ノードで「はい/いいえ」の判定を重ね、最終的にデータの属するカテゴリや数値を導き出します。
決定木には大きく分けて2つのタイプがあります。
- 分類木(Classification Tree): 目的変数がカテゴリ型(購入する/しない、など)の場合に使用します
- 回帰木(Regression Tree): 目的変数が連続値(売上金額、顧客生涯価値など)の場合に使用します
決定木の最大の強みは、分析結果の可読性です。他の機械学習モデル(ニューラルネットワークやSVMなど)と異なり、分岐のロジックがそのままビジネスルールとして読み取れます。意思決定者への説明やステークホルダーとの合意形成が求められるコンサルティングの現場では、この透明性が大きなアドバンテージになります。
構成要素
ノードの種類
決定木は3種類のノードで構成されます。
| ノード | 役割 | 特徴 |
|---|---|---|
| ルートノード | 最初の分岐点 | 最も情報量の大きい変数で分割する |
| 内部ノード | 中間の分岐点 | 追加条件でデータをさらに細分化する |
| リーフノード | 最終結果 | 分類ラベルや予測値を出力する |
木が深くなるほど条件分岐が細かくなり、訓練データへの適合度は上がります。ただし、木が深すぎると後述する過学習のリスクが高まるため、適切な深さの制御が必要です。
主要アルゴリズムの比較
決定木にはいくつかの代表的なアルゴリズムがあります。
| アルゴリズム | 分割基準 | 特徴 |
|---|---|---|
| CART | ジニ不純度 | 二分木のみを生成する。分類・回帰の両方に対応 |
| ID3 | 情報利得(エントロピー) | カテゴリ変数のみ対応。多分岐を許容する |
| C4.5 | 利得比(Gain Ratio) | ID3の改良版。連続変数や欠損値に対応 |
| C5.0 | 利得比 | C4.5の商用改良版。メモリ効率と速度が向上 |
実務で最も広く使われるのはCARTです。Pythonのscikit-learnやRのrpartパッケージはCARTベースで実装されています。
分割基準の仕組み
分岐条件を決める際、アルゴリズムは「データの純度がどれだけ向上するか」を基準にします。代表的な指標は以下の2つです。
- ジニ不純度: データの混ざり具合を0(完全に純粋)から0.5(完全に混合)で表します。CARTが採用する指標です
- 情報利得(エントロピー): 情報理論に基づき、分割前後の不確実性の減少量を測定します。ID3やC4.5が使用します
両者の結果はほとんどの場合で類似しますが、ジニ不純度は計算が高速、情報利得はより均等な分割を生む傾向があります。
実践的な使い方
ステップ1: 目的変数と説明変数を選定する
最初に「何を予測・分類したいか」(目的変数)と「そのために使う情報は何か」(説明変数)を明確にします。たとえば顧客の購買予測であれば、目的変数は「購入の有無」、説明変数は「年収」「年齢」「過去の購買回数」「Webサイト滞在時間」などが候補です。
変数選定のポイントは以下の通りです。
- 目的変数との因果関係や相関が論理的に説明できる変数を選ぶ
- 説明変数同士の多重共線性はそこまで影響しないが、解釈性を下げるため注意する
- データリーケージ(予測時に取得できない未来の情報が説明変数に含まれること)を排除する
ステップ2: 木を構築し分岐条件を評価する
ツールを用いて決定木を構築したら、各分岐の条件と分割の妥当性を確認します。確認すべきポイントは次の通りです。
- 各ノードのサンプル数は十分か(少数サンプルでの分岐は信頼性が低い)
- 分岐条件はビジネス的に解釈可能か
- 分類精度やジニ不純度の改善度は適切か
ビジネスの文脈に照らして不自然な分岐が含まれていないか、ドメイン知識を持つ担当者と一緒に確認することを推奨します。
ステップ3: 剪定を行い汎化性能を確認する
構築した木をそのまま使うと、訓練データに過度に適合し、新しいデータに対する予測精度が下がる場合があります。これを防ぐために「剪定(Pruning)」を行います。
- 事前剪定(Pre-pruning): 木の最大深さやリーフの最小サンプル数をあらかじめ制限します
- 事後剪定(Post-pruning): 木を十分に成長させた後、予測精度に寄与しない枝を除去します
交差検証(Cross-Validation)を用いて、訓練データと検証データの精度差を確認し、汎化性能が十分であることを確かめます。
活用場面
- 顧客の購買予測: 顧客属性や行動履歴から購入確率を予測し、マーケティング施策のターゲットを絞り込みます
- 審査・与信モデル: ローンの貸し倒れリスクや保険の引受リスクを評価する際に、判定ロジックが明確な決定木が好まれます
- 顧客セグメンテーション: どの変数がセグメント分けに最も寄与するかを可視化し、施策設計の根拠を示します
- 要因分析: 売上やNPSに影響を与える主要な要因を分岐の順序から特定し、改善施策の優先順位を導きます
注意点
過学習のリスク
決定木は制約なく成長させると、訓練データのノイズまで学習してしまいます。木の深さが深すぎる、リーフノードのサンプル数が極端に少ないなどの兆候がある場合は、剪定パラメータの調整が必要です。
連続変数への弱さ
決定木は連続変数を閾値で区切って二値化するため、回帰分析のように滑らかな関数を近似することが苦手です。連続値の予測精度が求められるケースでは、回帰分析やアンサンブル手法との併用を検討してください。
アンサンブル手法への発展
単体の決定木の限界を補うために、複数の決定木を組み合わせるアンサンブル手法が発展しています。
| 手法 | 仕組み | 特徴 |
|---|---|---|
| ランダムフォレスト | 異なるサンプルと変数で多数の決定木を構築し多数決で判定 | 過学習を抑制し、精度が安定する |
| 勾配ブースティング(XGBoost, LightGBM) | 前の木の誤差を補正する木を逐次的に追加 | 高い予測精度を実現するが、チューニングが複雑 |
アンサンブル手法は精度が高い反面、モデルの解釈性が低下します。ビジネス上「なぜその判定になったか」の説明が求められる場面では、単体の決定木やSHAP値による解釈補助を組み合わせることが重要です。
まとめ
決定木分析は、条件分岐による直感的な構造で分類・予測を行う手法であり、結果の解釈性が高いことがコンサルティング実務における大きな強みです。過学習への対策として剪定やアンサンブル手法への発展を理解した上で、ビジネス課題に応じた適切な木の深さと変数設計を行うことが、実用的なモデル構築の鍵になります。
参考資料
- Decision Trees - scikit-learn documentation scikit-learnの公式ドキュメント。CARTベースの決定木の実装方法、パラメータチューニング、過学習対策について詳しく解説されています
- What is a Decision Tree? | IBM IBMによる決定木の概念解説。分類木・回帰木の仕組み、剪定、アンサンブル手法への発展まで体系的にまとめられています
- Decision tree learning - Wikipedia ID3、C4.5、CARTなど主要アルゴリズムの理論的背景や分割基準(情報利得・ジニ不純度)の数学的定義が整理されています
- 決定木分析の事例を使ってメリットや活用場面を紹介 - NTTコム リサーチ 日本語での実務的な解説。マーケティングリサーチにおける決定木分析の活用事例やメリットがまとめられています
- 決定木 - Wikipedia 決定木の基本概念、分類木と回帰木の違い、主要アルゴリズムの概要が日本語で整理されています