決定木とは:仕組み、分類木と回帰木、メリットと活用例
決定木(けっていぎ)とは、「はい/いいえ」で答えられる条件分岐を繰り返してデータを分け、予測や分類を行う機械学習の手法です。判断の根拠を樹形図としてそのまま確認できるため、説明責任が求められる金融や医療の分野でも広く使われています。本ガイドでは、決定木の仕組みと構成要素、CARTなどの代表的なアルゴリズム、分割の基準、メリットと限界、実務でのベストプラクティスについて解説します。
決定木の定義
決定木(けっていぎ)は、フローチャートのような構造を持つ機械学習モデルです。対象のデータを一連の分岐条件に沿って順次分割していくことで、最終的な予測値や意思決定を導き出します。カテゴリを予測するものを分類木、数値を予測するものを回帰木と呼び、決定木はその総称です。
各種意思決定において選択肢を段階的に評価するアプローチと同様に、機械学習モデルにおいても目的に応じた複数のアルゴリズム手法が用いられます。その中でも決定木は、複雑な予測プロセスを視覚的に理解しやすい段階的なステップへ分解できるため、解釈性の高い機械学習(ML)として幅広く採用されています。
実務においては主に教師あり学習の枠組みで利用され、正解ラベルが付与されたトレーニングデータセットから最適な分岐ルールを自動学習します。決定木は一般的に、スパムメールの判定といった分類タスクや、建物のエネルギー消費量の予測といった回帰タスクの両方に適用されます。他の機械学習モデルと大きく異なる点は、予測プロセス全体を直接視覚化および解釈可能である点です。各ノードから枝(ブランチ)がデータに基づく判定条件に沿ってどのように分岐していくかをトレースすることで、モデルが特定の予測結果に至った根拠を明確に追跡できます。
決定木とは
決定木は、データに対する一連の判定条件を順次適用することで可能性を段階的に絞り込み、最終的な予測値を導き出す予測モデルです。本手法の最大の特長は、高い可読性と透明性にあります。任意の単一予測に至るパスは明確なIf-Thenルールの連鎖として追跡できるため、データサイエンスの専門家以外のステークホルダーであっても、単独でモデルの意思決定ロジックを監査することが可能です。決定木を使ってデータの特徴や意思決定の要因を分析する手法は、決定木分析とも呼ばれ、マーケティングやリスク分析などの分野で広く使われています。
各ノードにおける分岐は、異なる推論結果へと導く判定ポイントを表します。この構造により、人間の実務者とシステム側の双方が判定のロジックを段階的に追跡し、予測結果の妥当性を容易に検証できます。
決定木の仕組み
決定木は、問題を一連の質問に分割して処理します。それぞれの質問は、最終的な答えが明確になるまでデータの不確実性を軽減する役割を果たします。
処理プロセスは、データに基づく最初の質問から開始されます。この段階でアルゴリズムは特徴量選択を実行し、データの分割に最も関連性の高い変数を特定します。それぞれの回答から別の質問へと順次派生していきます。この質問も同様に、その段階でデータを最も効率的に分離できる特徴量に基づいて選定されます。決定木は、最終的な予測または決定が確定するリーフノード(葉ノード)に到達するまでこの処理を繰り返します。
決定木の構成要素
決定木は、主に以下の4つの基本構成要素で構成されます。
ルートノード
物理的な樹木の根と同様に、ルートノード(根ノード)はすべての処理の起点となる要素です。データの分割が一切行われる前の状態であり、対象となる問題に関連するデータセット全体が集約されている推論プロセスの最初のステップです。
ブランチ
ブランチは、データに含まれる特定の値や条件に基づいてデータセットを分岐します。たとえば、30歳を超える顧客と30歳以下の顧客で異なる処理パスへと振り分けるような構造です。決定木は、このブランチを通じて各データ群を適切な結果へと導きます。
内部ノード
内部ノードは、モデルがデータに対する条件判定を行い、後続のパスへと振り分ける意思決定ポイントです。たとえば、小売業におけるレコメンドモデルが過去の購買履歴を参照し、顧客Aは赤系統のシャツと青系統のシャツのどちらを購入する傾向があるかといった条件分岐を判定するノードがこれに該当します。
リーフノード
リーフノード(葉ノード)は決定木の終点であり、推論プロセスが完了してモデルが最終的な出力結果を決定するノードです。前述の小売の例にあてはめると、買い物客の購買履歴が赤系統のシャツを好む傾向を示している場合、決定木はその分岐を進み、新しい赤系統のシャツを複数レコメンデーションするという結果を出力するリーフノードへ到達します。
学習時には、各ノードで多数の分割候補を比較して最適な条件を選び、木を構築します。予測時には、入力データがルートノードから条件に沿って1本の経路をたどり、到達したリーフノードの値が予測結果になります。
決定木の種類
多数の決定木アルゴリズムが存在し、その多くは分類タスクおよび回帰タスクの両方に適用可能です。代表的なアルゴリズムとして以下が挙げられます。
CART(分類および回帰木)
CARTは、最も広く活用されている決定木アルゴリズムです。各特徴量に対して常に2分割(Yes/No)を適用し、データを最も明確に分離できる分割点を最適化する点が特徴です。たとえば、ローンの承認可否を予測するCARTモデルでは、まず「年収 > 1,000万円」(Yes/No)でデータを2分割し、続いて「他社借入件数」や「勤続年数」、「雇用形態」といった条件を用いて各グループを2つに繰り返し分割していきます。CARTは、Snowflake MLにおけるDecisionTreeClassifierをはじめ、本番環境で運用される多くの決定木実装のバックエンドアルゴリズムとして標準採用されています。
ID3(Iterative Dichotomiser 3)
ID3は初期の代表的な決定木アルゴリズムであり、データの不確実性を最も減らせる質問項目を優先的に選択することで、データをより小さなグループへ段階的に分割していきます。たとえば、スパムフィルターにおいて、商用広告で頻出する「限定オファー」といった特定のキーワードの有無に基づいてメールを効率的に仕分ける処理などに活用されてきました。
C4.5
C4.5は、ID3を拡張した決定木アルゴリズムです。カテゴリ型変数では多分岐、数値型変数ではしきい値による2分岐を行い、精度の高い予測を導き出します。前身であるID3の拡張版であり、カテゴリ型変数(スパム / 非スパム など)に加えて数値型変数(年齢や年収など)の直接処理に対応し、さらに欠損値が含まれるデータセットにも対応可能となった点が特徴です。たとえば、通信事業者において見込み顧客の情報が一部欠損しているケースであっても、年齢、居住地域、データ使用量といった利用可能な要素を統合的に評価し、各顧客に最適な料金プランを推奨できます。
CHAID(カイ二乗自動相互作用検出)
CHAIDは、カイ二乗検定などの統計的検定を用いて分割条件を決定するアルゴリズムであり、CARTのような2分割にとどまらず、1つのノードから複数の選択肢を同時に生成できる点が特徴です。たとえば、小売企業が顧客データベースを10代、若年層、中高年、シニア層といった複数の年齢層に一括でグループ分けし、どのデモグラフィック層が新しいロイヤルティプログラムに最も高い反応を示すかを分析するマーケティングタスクなどに活用されます。
条件付き推論木
条件付き推論木は、特徴量とターゲット変数との間に統計的な関連性が十分に存在するかを事前に検定することで、従来の決定木が抱える選択バイアスを低減する手法です。要因の統計的有意性を厳密に検証せずにデータを段階的に分割していく標準的な決定木(ID3やCARTなど)とは動作モデルが異なります。たとえば、従業員の業績予測において、標準的な決定木がサンプルデータ内のわずかな偏りに反応して出身大学を重要な分割基準として採用してしまうケースでも、条件付き推論木は統計的に有意でないと判定してその分割を行いません。そのため、学習後に別途プルーニング(枝刈り)を行う必要がありません。
決定木の分割条件
データを分割する際、機械学習モデルは一般的にジニ不純度またはエントロピーの2つの指標のいずれかを使用します。いずれの指標もデータ集合内のラベルの混ざり具合を定量化するものであり、アルゴリズムは選択した指標に基づいて、データを最も効果的に分離できる最適な分割点を決定します。
ジニ不純度
ジニ不純度は、特定の分割条件がデータをどれだけ純度高く分けられるかを評価する指標です。数理的には、データセットからランダムに抽出した要素に対し、そのグループ内のクラス分布に従ってランダムにラベルを割り当てた場合に、誤分類される確率を表しています。CARTアルゴリズムはジニ不純度を用いて複数の分割候補を比較検証し、不純度が最小となる分割条件を採用します。たとえば、「疲労を感じているか」という条件分岐を設けることで、コーヒーを飲用する確率が高いグループとそうでないグループの2つへ明確にデータを分離する処理がこれに該当します。
エントロピー
エントロピーはデータセットの不確実性を測定します。ID3やC4.5といったアルゴリズムでは、エントロピーを用いて情報利得を算出します。情報利得とは、特定の条件で分割を行うことによって減少した不確実性の度合いを指します。決定木は情報利得が最大となる分割条件を選択し、クラス間の明確な境界を形成します。前述のコーヒーの事例にあてはめると、「現在は午前か午後か」という時間帯に関する条件分岐を設けることで、各時間帯のグループへと整理され、意思決定に伴う不確実性が大幅に削減されます。
決定木の主な用途
機械学習分野において、決定木は収集された生データを構造化し、実用的なインサイトへ変換する役割を果たします。特に、提示された推論結果に対して明確な根拠や高い説明信頼性が求められる業務領域において、意思決定支援モデルとして幅広く活用されています。
以下は、決定木の代表的な活用事例です。
事業戦略と計画立案
決定木アルゴリズムによって学習された機械学習モデルは、売上成長率、価格推移傾向、顧客チャーン率、ならびにサプライチェーンにおける需要や在庫レベルの予測に活用されます。明瞭な条件分岐ロジックにより、どのようなビジネス要因が成果に影響を与えているかを定量的かつ可視化された形で分析できます。
リスク評価とリスク低減
金融や保険業界において、決定木は債務不履行リスク、保険金の支払請求リスク、および各種損失リスクの評価に活用されています。年収、信用情報(CICなど)、過去の請求パターンといった顧客データの条件分岐パスを順次たどることで、アクチュアリー、アンダーライター、およびリスクアナリストがより精密なリスク推計を行えるよう支援します。具体的な実装例については、決定木をベースとするXGBoostを使った保険金請求の予測をご参照ください。
顧客のセグメンテーションとターゲティング
マーケティング担当者は、決定木モデルを活用して、購買行動、デモグラフィック情報、およびオンライン上の行動ログに基づいて顧客セグメンテーションを実践できます。これにより、各セグメントに応じた最適なパーソナライズドオファーの配信や、特定キャンペーンに対するコンバージョン率の高い顧客の予測が可能となります。Snowflakeでは、この手法を具体的に解説したエンドツーエンドの顧客ターゲティングの実装ガイドを公開しています。
医療診断および治療計画支援
ヘルスケア領域における機械学習モデルでは、患者データの解釈において決定木が頻繁に採用されます。自覚症状、各種臨床検査結果、および家族の病歴などの多角的なデータを段階的に評価することで、最適な診断や治療方針の選定を支援する重要なインサイトを抽出できます。実際の適用例については、ツリーベースのアンサンブル手法を臨床診断データへ適用したXGBoostで構築された乳がん分類ガイドをご参照ください。
金融不正検知
銀行をはじめとする高度なリスク管理を求められる金融機関では、不正なアクティビティを迅速に検知するために決定木モデルを活用しています。取引金額、決済頻度、返品履歴などのパターンを複合的に分析することで、詐欺取引、マネーロンダリング、その他犯罪の兆候を示す異常なトランザクションを精度高く特定します。大規模な決済データに対してこれらのモデルを高速に実行する仕組みについては、Snowflakeの不正検知および金融犯罪ソリューションをご参照ください。
決定木のメリット
決定木は、従来時間を要していた意思決定ロジックの推論プロセスを簡素化し、迅速かつ効率的に予測結果を出力します。主なメリットは以下の通りです。
高い解釈可能性
決定木の優れた透明性は、機械学習モデルの推論プロセスにおけるブラックボックス化を防ぎます。モデルが最終的な予測や判定に至った段階的な分岐ロジックは、視覚的にトレース可能です。
学習済みの決定木は人間が解釈可能な条件ルールの集合として読み解くことができるためニューラルネットワークのような、高精度だが予測根拠が不透明なモデルに対する解釈可能な代替アプローチとして頻繁に採用されます。単なる予測精度のみならず、判定根拠の説明責任が法的および組織的に求められる規制業界(金融や医療など)においては、AIの透明性が数ポイントの精度向上よりも優先されるケースが多く、決定木が標準的に選ばれる重要な理由となっています。
データ前処理負荷の軽減
決定木は、分岐の判定に値の大小関係だけを使うため、線形モデルなどで必要となる特徴量のスケーリング(正規化)が不要です。また、C4.5のように実装によってはカテゴリ型変数をそのまま扱えるため、データ前処理の負担を抑えられます。
高い柔軟性
決定木は、各モデルが独立して完結した予測を行える自己完結型の構造を備えており、多種多様な問題に適応可能です。また、その柔軟な設計により、複数の決定木を組み合わせたアンサンブル学習(ランダムフォレストや勾配ブースティングなど)へと拡張し、それぞれの出力を集約することで、より大規模かつ複雑なタスクの処理にも対応できます。
欠損値への対応
完全なデータセットを前提とする多くの機械学習モデルとは異なり、決定木(C4.5など)は一部の情報に欠損が存在するデータに対しても柔軟に動作します。欠損値を含むレコードに対してノード通過時の重み付けを自動調整したり、複数の分岐経路に確率的にデータを分散して処理を継続することで、欠損の影響を最小限に抑えます。
小規模データセットでの高い有効性
決定木は、膨大なトレーニングデータを必要とせずにデータ内の実用的なパターンを抽出できます。サンプルサイズが限られている環境であっても有効に機能するため、データ収集コストが高い領域やデータソースが希少な業務分野においても高い実用性を発揮します。ただし、データが少ないほど過学習のリスクは高まるため、木の深さの制限やプルーニングとあわせて使うことが前提です。
決定木の課題と限界
多くのメリットを持つ決定木ですが、実務運用においてはいくつかの明確な課題や制限が存在します。モデル構築および評価の際に留意すべき主なデメリットは以下の通りです。
過学習のリスク
決定木は過度に複雑化しやすく、一般化された本質的パターンではなく、トレーニングデータ固有のノイズや特異な偏りまで深く学習してしまう傾向があります。その結果、学習用データセットに対する精度は非常に高く見えても、実環境での未知のテストデータに対する予測精度や汎化性能が著しく低下するモデルが構築されるリスクがあります。
ノイズデータに対する高い感度
決定木は、本質的な特徴を反映していないデータセット内のランダムな変動や無関係なノイズの影響を大きく受けます。データセット内にわずかなノイズが含まれるだけでも、木の初期段階での条件分岐が全く異なる方向へ歪められ、モデル全体の構造が変動して予測結果が不安定になる可能性があります。
バイアスのかかった分割が発生するリスク
データセット内で特定の要素のバリエーションやサンプル数が支配的である場合、決定木は他の同等以上に重要な要因を軽視し、その特徴量に過度な重み付けを行うことがあります。たとえば、疾患リスクを評価する医療モデルにおいて、食事や生活習慣といった真の決定要因よりも居住地域の郵便番号のような二次的特徴量を優先して条件分岐に採用してしまい、結果として不正確な予測や診断を導き出すケースがこれに該当します。
アンサンブル学習と比較した際の精度の限界
単一の決定木は単独で条件判定を完結させるため、データのわずかな偏りによる誤判定や過学習を起こしやすい性質があります。一方で、複数の決定木による予測結果を統合するアンサンブル学習は、単一の木が抱える課題を相互に補完し、一般的により高い予測精度と頑健な安定性を実現します。
なお、決定木は主要なアンサンブルアルゴリズムにおけるベースラーナーとして機能するため、両手法は対立する関係ではなく、単一の木からアンサンブルへと発展する関係性にあります。ランダムフォレストは、データおよび特徴量の異なるサブセットを用いて多数の決定木を並列に学習させ、それぞれの出力結果をアンサンブル平均(または多数決)することで、単一の決定木が抱える分散を効果的に相殺します。一方で勾配ブースティングは、同じ決定木を基底学習器としながらも、木を逐次的に構築していくアプローチをとります。後続の新しい決定木が、それ以前の木によって生じた残差を順次補正していく仕組みです。両者はアンサンブルの結合構造が異なるのみであり、個々の基本要素として機能する決定木そのもののメカニズムは共通しています。
よくある落とし穴
前述した決定木の課題と限界の多くは、根本的には過学習に起因するものです。プルーニングが行われていない決定木は、トレーニングデータ固有のノイズや局所的な特徴をそのまま暗記してしまうため、データ内のノイズに対して極端に過敏となり、また特定の支配的な特徴量に対して過剰な予測確率を割り当てる傾向が生じます。したがって、ハイパーパラメータ調整時のオプション作業としてではなく、適切なプルーニングおよび未知の検証データに対する評価の徹底を、モデル構築における標準的な開発ルールとして組み込むことが極めて重要です。
決定木のベストプラクティス
組織が機械学習における決定木の予測性能と運用効果を最大化するためには、以下の実践的なアプローチの適用が推奨されます。
強力な特徴量の選定
金融不正検知における決済金額、頻度や、医療診断における各種臨床検査値のように、データを最も明確に分類できる変数を優先してモデルに与えます。予測力の高い特徴量を選定することで、無駄な条件分岐を防ぎ、明確かつ説明性の高い出力結果を得ることが可能になります。これらの特徴量を特徴量ストアで管理することで、トレーニングと本番環境の間で同じ定義の一貫性が保たれます。
プルーニングによる過学習の防止
樹木医が樹木の健康な成長を促すために不要な枝や枯れ葉を剪定するように、決定木においても不要な分岐条件を切り落とすプルーニング処理が不可欠です。プルーニングを適正に実行することで、モデルがトレーニングデータの局所的なノイズや例外値に過学習するのを防ぎ、未知のデータに対しても汎用的なパターンに基づいて高精度な推論が行えるよう調整します。
未知のデータによるモデル検証
決定木モデルの推論妥当性を担保するためには、学習プロセスで一度も使用していない未知のデータを用いて予測性能を厳密に評価する必要があります。これにより、モデルが過学習していないかを検出できます。データセットの一部を評価用として事前に保持し、標準的なモデル評価指標を適用して推論精度を確認する手法が一般的です。この検証プロセスを行うことで、モデルが学習データを単に暗記しているだけなのか、未知のデータに対しても正しく汎化できているのかを明確に判別できます。
条件分割の継続的な監視
多くの機械学習ライブラリでは、決定木がどの特徴量を重視しているかを定量化する特徴量重要度の算出機能や、ノードの分岐ロジックを可視化する機能が提供されています。これらの機能を活用することで、モデルがどのような根拠に基づいてデータを処理し、出力を決定しているかを明確に把握できます。また、モデルを本番環境へデプロイした後は、継続的なモデルモニタリングの仕組みを導入することが重要です。これにより、特徴量重要度の推移や分岐条件の変化を常に監視し、予測精度の低下として表面化する前に早期対処が可能となります。
決定木はシンプルで高い透明性および柔軟性を備えているため、機械学習モデルとして幅広く採用されています。融資審査におけるリスク判定、売上予測、あるいはマーケティングにおける顧客セグメンテーションなど、多種多様なビジネスタスクにおいて重要な役割を果たします。信頼性と説明可能性を兼ね備えたAI/MLツールへの需要が高まる中、決定木は今後も精度と透明性を両立する強力な意思決定アプローチであり続けます。
重要なポイント
決定木は、複雑な予測や分類問題をデータ駆動型の一連のシンプルな条件分岐に分解する、解釈可能性と柔軟性に優れた機械学習モデルです。金融リスク評価からヘルスケア診断、マーケティング運用まで、幅広い業界のユースケースに対応します。実務においては、適切な特徴量選定、プルーニング、テストデータによる検証、および継続的なモデルモニタリングを通じて、過学習、ノイズデータへの感度、いびつな分割バイアスといった課題を最小限に抑えることが不可欠です。
よくある質問
決定木に関するよくある質問に、Snowflakeの専門家が答えます。
分類木と回帰木の違いは何ですか?
予測する値の種類が違います。分類木は「スパムかどうか」「解約するかどうか」のように、あらかじめ決まったカテゴリのどれに当てはまるかを予測します。回帰木は、住宅価格や売上高のような連続した数値を予測します。どちらも決定木の一種で、両方をまとめて決定木と呼びます。
違いは、分割のしかたとリーフノードの出力にも表れます。分類木はジニ不純度やエントロピーを使ってカテゴリがよく分かれるように分割し、リーフノードでは最も多いカテゴリを出力します。回帰木は予測値と実際の値の差(平均二乗誤差など)が小さくなるように分割し、リーフノードではそこに含まれるデータの平均値を出力します。
決定木とランダムフォレストの違いは何ですか?
単一のモデルで意思決定を行うか、複数のモデルを集約して予測精度を高めるかが最大の違いです。
- 決定木:データに関する一連の条件判定をたどり、最終的な単一の予測結果を出力する個別モデルです。構造がシンプルで解釈性に優れます。
- ランダムフォレスト:データセットおよび特徴量のサブセットに基づいて多数の異なる決定木を個別に構築し、それらの予測結果を平均化(または多数決)して最終結果を出力するアンサンブルモデルです。
単一の決定木は概念がシンプルでたどりやすい反面、過学習を起こしやすい傾向があります。対してランダムフォレストは、複数の木を組み合わせることで分散を抑え、より安定した高精度の予測を実現します。
ニューラルネットワークではなく決定木を選択すべきケースはどのような場合ですか?
単なる予測精度だけでなく、推論プロセスに対する明確な解釈可能性が求められるケースです。
- 高い透明性と追跡可能性:学習済みの決定木は人間が解釈可能な明瞭なルールとして読み解くことができるため、どのような条件分岐を経てその結論に至ったかを正確にトレース可能です。
- ブラックボックス問題の回避:ニューラルネットワークは画像や非構造化テキストなどの複雑かつ高次元なデータにおいて非常に高い精度を発揮しますが、内部の推論プロセスは複雑で直接的な検証が困難です。
- 規制業界における要件:融資の審査、保険適用の判断、臨床診断など、厳格なコンプライアンスや説明義務が課される領域では、数ポイントの精度向上よりも決定根拠の透明性が優先されるため、決定木アプローチが適しています。
Pythonで決定木を作成するにはどうすればよいですか?
Pythonでは、機械学習ライブラリのscikit-learnを使うのが一般的です。分類にはDecisionTreeClassifier、回帰にはDecisionTreeRegressorを使い、学習データを渡してモデルを作成します。木の深さの上限(max_depth)やリーフノードに必要な最小データ数(min_samples_leaf)を設定することで、過学習を抑えられます。
Snowflake上では、scikit-learnと同じ書き方で使えるSnowflake MLのDecisionTreeClassifierを利用できます。データをSnowflakeの外に移さずに、テーブル上のデータでそのまま学習と予測を実行できるため、大規模なデータでもデータ移動の手間とセキュリティ上のリスクを抑えられます。
AIツールで決定木を作成することは可能ですか?
はい、可能です。ChatGPTやGeminiをはじめとする生成AIツールを活用することで、テキストベースの決定木ロジックやダイアグラム(Mermaid形式など)、さらにはデータセットから決定木モデルを構築、描画するためのPythonコード(scikit-learnやSnowflake ML対応コードなど)を即座に生成できます。
AIの関連リソースを見る
AI関連トピックを見る
人工知能のさまざまな側面を深く掘り下げます。


