Microsoft デシジョン ツリー アルゴリズム

適用対象:SQL Server 2019 以前の Analysis Services Azure Analysis Services Fabric/Power BI Premium

重要

データ マイニングは SQL Server 2017 Analysis Services で非推奨となり、SQL Server 2022 Analysis Services で停止されました。 非推奨および停止された機能については、ドキュメントの更新は行われません。 詳細については、「Analysis Services 下位互換性」を参照してください。

Microsoft デシジョン ツリー アルゴリズムは、不連続属性と連続属性の両方の予測モデリングに使用する分類および回帰アルゴリズムです。

不連続属性の場合、予測はデータセットの入力列間のリレーションシップに基づいて行われます。 アルゴリズムでは、これらの列の値 (状態) を使用して、予測可能として指定した列の状態が予測されます。 具体的には、予測可能列に相関している入力列が識別されます。 たとえば、どのような顧客が自転車を購入する確率が高いかを予測するシナリオにおいて、若い顧客は 10 人のうち 9 人が自転車を購入するのに対し、中高年の顧客は 10 人のうち 2 人しか購入しない場合、アルゴリズムによって、年齢が自転車購入の適切な予測子であると推定されます。 デシジョン ツリーでは、特定の結果に対するこの傾向に基づいて予測が行われます。

連続属性の場合、アルゴリズムでは線型回帰を使用して、デシジョン ツリーの分割ポイントが判断されます。

複数の列が予測可能に設定されている場合、または予測可能に設定されている入れ子になったテーブルが入力データに含まれている場合は、予測可能列ごとに個別のデシジョン ツリーが作成されます。

Adventure Works Cycles 社のマーケティング部門は、顧客が将来製品を購入する可能性があるかどうかを示す可能性がある、以前の顧客の特性を特定したいと考えています。 AdventureWorks2012 データベースには、以前の顧客を説明する人口統計情報が格納されます。 Microsoft Decision Trees アルゴリズムを使用してこの情報を分析することで、マーケティング部門は、人口統計や過去の購入パターンなど、顧客に関する既知の列の状態に基づいて、特定の顧客が製品を購入するかどうかを予測するモデルを構築できます。

アルゴリズムの動作

Microsoft デシジョン ツリー アルゴリズムは、ツリーに一連の分割を作成することで、データ マイニング モデルを構築します。 これらの分割は ノードとして表されます。 ノードは、入力列が予測可能列に密接に相関していることが認識されるたびに、アルゴリズムによってモデルに追加されます。 アルゴリズムで分割が決定される方法は、連続列と不連続列のどちらを予測するかによって異なります。

Microsoft デシジョン ツリー アルゴリズムでは 、機能の選択 を使用して、最も有用な属性の選択をガイドします。 特徴選択は、パフォーマンスと分析の品質を向上させるために、すべてのSQL Serverデータ マイニング アルゴリズムによって使用されます。 機能の選択は、重要でない属性によってプロセッサ時間が使用されるのを防ぐために重要です。 データ マイニング モデルの設計時に入力属性または予測可能属性を多用しすぎると、モデルの処理に非常に時間がかかったり、メモリが不足する場合があります。 ツリーを分割するかどうかを決定するために使用されるメソッドには、 エントロピ とベイジアン ネットワークの業界標準メトリックが含まれます***意味のある属性を選択し、属性のスコア付けとランク付けに使用されるメソッドの詳細については、「 特徴選択 (データ マイニング)」を参照してください。

データ マイニング モデルにおける一般的な問題として、トレーニング データ内のわずかな差異がモデルに過度に反映されることがあります。これは、 オーバーフィット または オーバートレーニングと呼ばれます。 オーバーフィット モデルは、他のデータセットに一般化することができません。 Microsoft デシジョン ツリー アルゴリズムでは、特定のデータ セットに対するオーバーフィットを回避するために、ツリーの増加を制御するための手法が使用されます。 Microsoft デシジョン ツリー アルゴリズムのしくみの詳細については、「 Microsoft デシジョン ツリー アルゴリズムテクニカル リファレンス」を参照してください

不連続列の予測

Microsoft デシジョン ツリー アルゴリズムが個別の予測可能列のツリーを構築する方法は、ヒストグラムを使用して示すことができます。 次の図は、予測可能列の "Bike Buyers" を入力列の "Age" と相関させてプロットしたヒストグラムを示しています。 このヒストグラムは、ある顧客が自転車を購入するかどうかは、その人の年齢からある程度判断できることを示しています。

Microsoft デシジョン ツリー アルゴリズムからの

図に示されている相関関係により、Microsoft デシジョン ツリー アルゴリズムによってモデルに新しいノードが作成されます。

デシジョン ツリー ノード

アルゴリズムによって新しいノードがモデルに追加されるにつれて、ツリー構造が形成されていきます。 ツリーの最上部ノードには、顧客グループ全体の予測可能列の内訳が記述されます。 モデルが拡大する際、アルゴリズムではすべての列が考慮されます。

連続列の予測

Microsoft デシジョン ツリー アルゴリズムが連続予測可能な列に基づいてツリーを構築すると、各ノードには回帰式が含まれます。 分割は、回帰式内の非線形性のポイントで発生します。 たとえば、次の図について検討します。

非線形性を示す重回帰直線 非線形性

標準の回帰モデルでは、データ全体の傾向とリレーションシップを表す 1 つの数式を引き出すことを試行します。 しかし、1 つの数式では複雑なデータから連続性を十分にキャプチャできない可能性があります。 代わりに、Microsoft デシジョン ツリー アルゴリズムは、主に線形であるツリーのセグメントを検索し、これらのセグメントに対して個別の数式を作成します。 データをセグメントに分割することで、モデルはデータをさらに的確に表すことができます。

次の図は、上記散布図のモデルのツリー ダイアグラムを表します。 このモデルでは、結果の予測に 2 つの数式を使用しています。左分岐の数式は y = .5x x 5、右分岐の数式は y = .25x + 8.75 です。 散布図で 2 本の線が交差するポイントは非線形性のポイントで、これはデシジョン ツリー モデルのノードが分割されるポイントになります。

の点を表す数式 非線形性非線形性

これは 2 つの線形方程式だけで構成される簡単なモデルであるため、 [All] ノードの直後にツリーが分割されています。 ただし、分割はツリーのあらゆるレベルで発生する可能性があります。 つまり、複数のレベルやノードが存在するツリーで、各ノードが異なる属性のコレクションで特徴づけられている場合、数式が複数のノードで共有されるか、1 つのノードにのみ適用される可能性があります。 たとえば、1 つの数式は "特定の年齢や収入を超えている顧客" と定義されているノードに対して、もう 1 つの数式は "遠くから通っている顧客" を表すノードに対して設定される可能性があります。 ノードをクリックすると、個々のノードやセグメントの数式を確認できます。

デシジョン ツリー モデルに必要なデータ

デシジョン ツリー モデルで使用するデータを用意する際には、必要なデータ量やデータの使用方法など、このアルゴリズムにおける要件を把握しておいてください。

デシジョン ツリー モデルの要件は次のとおりです。

  • 単一キー列 : それぞれのモデルには、各レコードを一意に識別する数値列またはテキスト列が 1 つ含まれている必要があります。 複合キーは使用できません。

  • 予測可能列 : 少なくとも 1 つの予測可能列が必要です。 1 つのモデルに対し、複数の予測可能属性を含めることができます。また、数値型と不連続型の予測可能属性を混在させることもできます。 ただし、予測可能属性の数を増やすと、処理時間が長くなる可能性があります。

  • 入力列 : 不連続または連続の入力列が必要です。 入力属性の数を増やすと、処理時間に影響します。

デシジョン モデルでサポートされるコンテンツの種類とデータ型の詳細については、「 Microsoft デシジョン ツリー アルゴリズム テクニカル リファレンス」の「必要条件」を参照してください。

デシジョン ツリー モデルの表示

モデルを参照するには、 Microsoft ツリー ビューアーを使用します。 モデルで複数のツリーが生成される場合、そのいずれかを選択すると、予測可能属性ごとのケースの分類がビューアーに表示されます。 また、依存関係ネットワーク ビューアーを使用すると、複数ツリー間の相互関係を表示できます。 詳細については、「 Microsoft ツリー ビューアーを使用したモデルの参照」を参照してください。

ツリー内の特定の分岐 (ノード) の詳細を調べる場合は、 Microsoft 汎用コンテンツ ツリー ビューアーでモデルを参照することもできます。 モデルに保存される内容には、各ノードのすべての値の分布、ツリーの各レベルにおける確率、および連続属性用の回帰式が含まれます。 詳細については、「 デシジョン ツリー モデルのマイニング モデル コンテンツ (Analysis Services - データ マイニング)」を参照してください。

予測の作成

モデルの処理後、結果がパターンと統計のセットとして保存されます。これを使用して、関係を調査したり予測を実行したりできます。

デシジョン ツリー モデルで使用するクエリの例については、「 デシジョン ツリー モデルのクエリ例」を参照してください。

マイニング モデルに対するクエリの作成方法については、「 データ マイニング クエリ」を参照してください。

注釈

  • Predictive Model Markup Language (PMML) を使用したマイニング モデルの作成がサポートされています。

  • ドリルスルーがサポートされています。

  • OLAP マイニング モデルの使用およびデータ マイニング ディメンションの作成がサポートされています。

参照

データ マイニング アルゴリズム (Analysis Services - データ マイニング)
Microsoft デシジョン ツリー アルゴリズム テクニカル リファレンス
デシジョン ツリー モデルのクエリ例
Mining Model Content for Decision Tree Models (Analysis Services - Data Mining)