「お昼休みに学ぶ」SNOWFLAKE入門シリーズ | 3月31日(火) - 4月2日(木)開催

今からでも遅くない!これから始める業務改善・DXのためのデータ活用

機械学習における決定木:データ実務のための詳細な解説

決定木とは何か、その仕組みについて解説します。機械学習と計画のための決定木の種類、分析、例、ベストプラクティスを探ります。

  • 概要
  • 決定木とは
  • 決定木の仕組み
  • 決定木の要素
  • 決定木の種類
  • 決定木の分割基準
  • 決定木の使用目的
  • 決定木のメリット
  • 決定木の制限
  • 決定木のベストプラクティス
  • 結論
  • 決定木に関するよくある質問
  • Snowflakeを使用しているお客様の事例
  • Snowflakeの関連リソース

概要

人間が意思決定の前にさまざまな選択肢を検討するように、機械学習モデルは複数の方法を使用して予測やレコメンデーションを行います。決定木は、問題をシンプルなステップに分割して結果を理解しやすくするため、MLで広く使われている手法です。

決定木は、教師あり学習でよく使用されます。教師あり学習では、モデルはすでに既知の正解を持っている例から学習します。一般的に、スパムEメールの特定などの分類タスクや、建物のエネルギー使用量の予測などの回帰タスクを処理します。決定木の推論プロセスを可視化し、解釈できる点こそが、他と一線を画す特徴です。データドリブンなさまざまな問いに応じて「分岐」が異なる方向に分かれていく様子を観察することで、モデルの推論がどのようにして結果につながったのかが明らかになります。

決定木とは

決定木はフローチャートのように機能します。それぞれの分岐は、さまざまな結果をもたらす意思決定ポイントを表しています。これにより、人間とコンピューターの両方が、選択肢を検討し、可能性を検討し、その結果を理解することが容易になります。

決定木の仕組み

決定木は、問題を一連の質問に分割します。それぞれの質問は、答えが明らかになるまでの不確実性の軽減に役立ちます。

プロセスは、データに基づいた質問からスタートします。このステップでは、アルゴリズムは特徴量の選択を実行します。特徴量の選択では、データの分割に最も関連する変数を特定します。それぞれの回答から別の質問が派生します。これも、そのステージでデータを分離するうえで最も役立つ特徴量に基づいています。決定木は、リーフノードに到達するまでこのプロセスを続け、リーフノードで最終的な予測または決定を行います。

決定木の要素

決定木には通常、次の4つの要素が含まれます。

 

ルートノード

物理的な樹木と同様に、ルートノードはすべての始まりです。推論プロセスの最初のステップであり、質問に関連するデータセット全体を最初に扱うノードです。 

 

ブランチ

ブランチは、データ内の値に基づいてデータセットを分割します。たとえば、30歳以上の顧客は、30歳未満の顧客とは異なる選択肢に進む可能性があります。決定木は、各グループをそれぞれの結果へと導きます。

 

内部ノード

内部ノードは、モデルがデータについて質問して道筋を示す意思決定ポイントです。たとえば、ある小売企業のサービスモデルが過去の購入データを見て、「購買者Aは赤いシャツと青いシャツのどちらを購入する傾向があるか」と尋ねるとします。

 

リーフノード

リーフノードは、推論プロセスが停止してモデルが結果を提供する、決定木のエンドポイントです。小売企業の例を続けると、購買者の履歴が赤いシャツを好むことを示している場合、MLモデルの決定木は、モデルに新しい赤シャツの候補の購入をレコメンデーションするリーフノードにつながる可能性があります。

実際には、決定木は一度に複数の経路を探索します。決定木の論理は、最適な答えを見つけるために別々の方向に分岐します。

決定木の種類

多数の一般的な決定木アルゴリズムが利用可能であり、そのほとんどは分類タスクや回帰タスクに適用できます。代表的なものには、次のアルゴリズムがあります。 

 

CART(分類木と回帰木)

CARTは、広く使用されているアルゴリズムです。他の決定木の手法とは一線を画しています。CARTは、データ内の値を最も適切に分離する分割に着目して、特徴量ごとに常にバイナリ分割(はい/いいえ)を作成します。たとえば、ローンを承認するかどうかを予測するCARTモデルは、まず申請者を「収入 > 5万ドル」(はい/いいえ)で分割し、続いて申請者のクレジットスコアが750以上かどうか、申請者が雇用されているかどうかなどの他の要因に基づいて各グループを分割します。

 

ID3(Iterative Dichotomiser 3)

ID3は、人気の高い決定木アルゴリズムの一つであり、可能な回答を徐々に絞り込み、最終的な予測やレコメンデーションに到達するまで、データを小さなグループに分割します。たとえば、スパムフィルターでは、商用広告でよく使用される「オファー」という単語を含むEメールを特定できます。

 

C4.5

C4.5は、データを小さなグループに分ける一連のはい/いいえの質問をすることで決定木を構築するため、より正確な予測に到達しやすくなります。カテゴリー値(「スパム」や「スパムでない」など)と数値(「年齢」や「所得」など)の両方を処理しながら、欠落データのようなギャップに対処できるため、ID3を改良したアルゴリズムです。通信業界を例に挙げると、C4.5アルゴリズムを活用することで、年齢、居住地、データ使用量といった要素を多角的に分析し、たとえ見込み顧客の情報が一部欠けていたとしても、顧客一人ひとりに最適なプラン案を提示できます。 

 

CHAID(カイ二乗自動相互作用検知)

CHAIDは、統計テストを使用して分割先を決定し、多くの場合、複数のオプションを含む分岐を一度に作成します。たとえば、小売企業は顧客を10代、若年成人、中高年、シニアなどの年齢層に分類して、どのデモグラフィックグループが新しいロイヤルティプログラムに反応する可能性が最も高いかを予測することができます。

 

条件付き推論ツリー

条件付き推論ツリーは、変数が分岐を正当化するのに十分な関連性を持つかどうかをテストすることでバイアスを低減します。この点では、ID3やCARTのような、ある要因が統計的に有意かどうかをテストせずにデータを段階的に分割する通常の決定木とは異なります。たとえば、通常の決定木では「大学に通ったかどうか」が優先されますが、条件付き推論ツリーではジョブのパフォーマンス予測に統計的に無関係であると見なされる場合があります。

決定木の分割条件

データを分割する場合、MLモデルは通常、次の2つの一般的な決定木の基準のいずれかを使用します。それはジニ不純度またはエントロピーです。それぞれがデータの構成を測定し、アルゴリズムが選択した方法を適用して、データを最も効果的に分割する分割を見つけます。

 

ジニ不純度

ジニは、質問によってデータがどの程度明確に区分されているかを調べます。数学的には、ランダムな項目がグループの分布に従ってラベル付けされた場合に誤って分類される可能性を反映しています。CARTアルゴリズムは、この測定値を適用してさまざまな分割をテストし、最も明確な分割を選択します。たとえば、疲れているかどうかを尋ねることで、コーヒーを飲みそうな人と飲まない人の2つのグループに分かれる場合などです。

 

エントロピー

エントロピーはデータセットの不確実性を測定します。ID3やC4.5などのアルゴリズムは、情報利得の計算にエントロピーを利用します。これは、分割の結果生じる不確実性の減少を表します。決定木は不確実性を最も軽減する分割を選択するため、クラス間の分離が最も明確になります。コーヒーの事例では、午前か午後かを尋ねることで、意思決定の指針となるグループが明確になるため、不確実性が軽減されます。

決定木の使用目的

機械学習では、決定木はモデルが生データを有用なインサイトに変換できるようにします。これは、意思決定に十分な裏付けと信頼性が求められる業界で特に有用です。

以下に、決定木の一般的な使用例を示します。 

 

事業戦略と計画

決定木でトレーニングされたMLモデルは、売上成長、価格トレンド、顧客チャーン、サプライチェーンの需要や在庫レベルなどの予測に役立ちます。 

 

リスク評価と緩和

金融・保険業界において、決定木はデフォルト、保険金請求、その他の損失などのリスク評価に役立ちます。信用履歴、所得レベル、請求パターンなどの顧客データの分岐経路をたどることで、保険数理人、引受人、金融アナリストがより正確なリスク推定を提供できるようになります。

 

顧客のセグメンテーションとターゲティング 

マーケターは、決定木モデルを使用して、購買行動、デモグラフィック、オンラインアクティビティに基づいて顧客をグループ分けすることができます。これにより、企業はよりパーソナライズされたオファーを提供し、どの顧客がキャンペーンに反応する可能性が最も高いかを予測することができます。

 

医療診断と治療

ヘルスケアのMLモデルは、患者データの解釈に決定木に頼ることがよくあります。たとえば、あるモデルで症状を測定、検査結果を検討し、家族の病歴を調べることで、診断や治療の指針となる重要な情報を収集することができます。

 

金融不正検知

銀行など、リスクを回避する金融機関は、決定木モデルを使用して疑わしいアクティビティを検出できます。モデルは、購入金額や取引規模、返品などのパターンを分析することで、潜在的な詐欺、マネーロンダリング、その他の潜在的な犯罪活動を示す取引を特定できます。 

決定木のメリット

決定木は、時間のかかる推論プロセスを簡素化し、より迅速かつ効率的に結果を提供します。具体的なメリットは以下のとおりです。 

 

容易な解釈可能性

決定木の透明性は、MLの推論プロセスから不明な点を取り除くのに役立ちます。モデルが結論やレコメンデーションに至るまでのステップバイステップのロジックを、誰でも視覚的に追えるようになります。

 

データ準備負荷の軽減

決定木はカテゴリと数値の両方を扱えるため、アナリストはデータの変換や再フォーマットに多くの時間を費やす必要はありません。モデルを実行する事前の準備作業を軽減できます。 

 

高い柔軟性

決定木は、それぞれが独立して予測を行える自己完結型モデルであるため、さまざまな問題に適応できます。また、柔軟な設計により、多くの決定木を組み合わせて出力を集約できるため、大規模で複雑なタスクを処理できます。

 

欠落している値への対応

完全なデータセットを必要とする一部のモデルとは異なり、決定木は情報が不足している場合にも機能できます。そのためには、不完全なレコードに低い重みを割り当てたり、複数の可能なパスにデータを分割したりすることで対応します。

 

小規模なデータセットでの使用に最適

決定木は、膨大なデータなしに有用なパターンを見つけられます。情報が限られている場合でも有効であるため、データの不足や収集に時間のかかる分野では役立ちます。

決定木の制限

決定木には、メリットはあるもののデメリットもあります。推論に決定木を使用する際に、人間と機械の両方が直面する一般的な問題の一部を以下に挙げます。

 

過剰適合の傾向

決定木が詳細になりすぎる場合、一般的なパターンを学習するのではなく、トレーニングデータ内の偶発的な偏りやノイズに影響を受けます。その結果、トレーニング中は正確に見えますが、新しい未知のデータを適切に処理できないモデルが生まれます。

 

ノイズの多いデータに敏感

決定木は、真のパターンを反映しないデータセット内のランダムな変動や無関係な差異に影響を受けやすい性質があります。わずかなノイズでも、誤解を招く方法で決定木が分割し、予測が不安定になる可能性があります。

 

バイアスのかかった分割が生じる可能性

特定の特徴量がデータセットを支配している場合、決定木は、他の同等またはより重要な要因を犠牲にして、その特徴量を過度に重視してしまうことがあります。たとえば、医療モデルが食事や生活習慣などの要因よりも患者の郵便番号を重視する場合、予測、レコメンデーション、診断が不正確になる可能性があります。 

 

アンサンブル法よりも低い精度

単一の決定木が単独で意思決定を行う場合、誤りや過剰適合につながる可能性があります。一方、アンサンブル法は複数の決定木からの結果を結合します。この集合的なアプローチは、一般的により正確で包括的、かつ一貫した結果をもたらします。

決定木のベストプラクティス

組織は、以下の実践的なヒントに従ってMLの決定木の効果を最大化できます。 

 

強力な特徴量の選択

不正検知における取引の金額や医療診断の検査結果など、データを最も効果的に分離できる要因を重視します。高い予測力を持つ特徴量により、決定木はより明確な成果を達成し、無駄な分割を回避できます。

 

プルーニングによる過剰適合の防止

園芸士が枝をトリミングして木の成長を管理し、枯れ葉を取り除くように、不要な決定木の枝を除去することが重要です。プルーニングは、決定木がトレーニングデータに執着せず、意味のある結果をもたらすパターンを探すための鍵となります。 

 

新しいデータによる検証

モデルの整合性を保つには、学習に使用していない未知のデータでパフォーマンスを検証することが不可欠です。これにより、過剰適合を回避できます。

 

分割の監視

多くのMLライブラリは、決定木が最も依存する特徴量をランク付けし、分割がどのように行われるかを示すツールを提供しています。これらのチェックとバランスにより、モデルがどのようにデータを処理し、推論し、結果を導き出すのかがわかりやすくなります。

結論

決定木はシンプルで明確かつ柔軟であることから、機械学習で広く採用されています。融資リスクの判断、販売予測、マーケティングのための顧客のグループ化など、多くのビジネスタスクに役立ちます。信頼できるAI/MLツールを求める組織が増加しても、決定木は予測やレコメンデーションを行うための有用なアプローチであることは変わりません。

決定木に関するよくある質問

はい。ChatGPTやGeminiなどのツールは、テキストベースの決定木、ダイアグラム、さらにはPythonコードを生成して、データセットに基づいてトレーニングや決定木のプロットを実行できます。

決定木は、MLやAIの推論においてさまざまな役割を果たします。MLでは、データを使用して融資リスクや売上予測などの結果を予測します。AIでは、選択肢を構造化してアクションを導く推論ツールとして機能します。主な違いは、MLの決定木がデータから学習するのに対し、AIの決定木はシステムが意思決定を支援することです。

決定木は、特定の結果に到達するまでデータ関連の一連の質問をするモデルです。一方、ランダムフォレストでは、データや特徴量のサブセットに基づいてさまざまな決定木を構築し、その結果を混合させて最終的な予測を行います。