次の方法で共有


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

Microsoft デシジョン ツリー アルゴリズムは、不連続属性と連続属性の両方の予測モデリングに使用するために Microsoft SQL Server Analysis Services によって提供される分類および回帰アルゴリズムです。

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

連続属性の場合、アルゴリズムは線形回帰を使用してデシジョン ツリーが分割される場所を決定します。

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

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

アルゴリズムのしくみ

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

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

データ マイニング モデルの一般的な問題は、モデルがトレーニング データの小さな違いに対して機密性が高くなりすぎ、その場合は 過剰適合 または 過剰トレーニングと見なされることです。 オーバーフィット モデルを他のデータ セットに一般化することはできません。 特定のデータ セットのオーバーフィットを回避するために、Microsoft デシジョン ツリー アルゴリズムでは、ツリーの拡張を制御するための手法が使用されます。 Microsoft デシジョン ツリー アルゴリズムのしくみの詳細については、「 Microsoft デシジョン ツリー アルゴリズムテクニカル リファレンス」を参照してください

不連続列の予測

Microsoft デシジョン ツリー アルゴリズムが個別の予測可能列のツリーを構築する方法は、ヒストグラムを使用して示すことができます。 次の図は、入力列 Age に対して予測可能な列 Bike Buyers をプロットするヒストグラムを示しています。 ヒストグラムは、人の年齢がその人が自転車を購入するかどうかを区別するのに役立っていることを示しています。

Microsoft デシジョン ツリー アルゴリズムのヒストグラム

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

デシジョン ツリー ノード

アルゴリズムによって新しいノードがモデルに追加されると、ツリー構造が形成されます。 ツリーの最上位ノードは、顧客の母集団にある予測可能なカラムの内訳を表します。 モデルが拡大し続けるにつれて、アルゴリズムはすべての列を考慮します。

連続列の予測

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

非線形性を示す複数の回帰直線:非線形性

この図には、1 本の線を使用するか、2 本の接続された線を使用してモデル化できるデータが含まれています。 ただし、1 行の場合、データを表すのに不十分な処理が行われます。 代わりに、2 本の線を使用する場合、モデルはデータを近似する方がはるかに優れた処理を行います。 2 つの線が一緒になる点は非線形性の点であり、デシジョン ツリー モデル内のノードが分割されるポイントです。 たとえば、前のグラフの非線形性の点に対応するノードは、次の図で表されます。 2 つの式は、2 つの線の回帰式を表します。

非線形点を表す方程式

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

デシジョン ツリー モデルで使用するデータを準備するときは、必要なデータの量やデータの使用方法など、特定のアルゴリズムの要件を理解する必要があります。

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

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

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

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

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

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

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

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

予測の作成

モデルが処理されると、結果は一連のパターンと統計として格納されます。これは、リレーションシップの探索や予測に使用できます。

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

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

注釈

  • 予測モデル マークアップ言語 (PMML) を使用してマイニング モデルを作成することをサポートします。

  • ドリルスルーをサポートします。

  • OLAP マイニング モデルの使用とデータ マイニング ディメンションの作成をサポートします。

こちらもご覧ください

データ マイニング アルゴリズム (Analysis Services - データ マイニング)Microsoft デシジョン ツリー アルゴリズム テクニカル リファレンスデシジョン ツリー モデル クエリの例デシジョン ツリー モデルのマイニング モデル コンテンツ (Analysis Services - データ マイニング)