次の方法で共有


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

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

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

デシジョン ツリー ノード

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

連続列の予測

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

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

この図には、1 本の線または 2 本の接続された線を使用してモデル化できるデータが含まれています。 ただし、1 本の線ではデータを的確に表すことができません。 代わりに 2 本の線を使用すると、モデルはデータをさらに的確に表すことができます。 2 本の線が交差するポイントは非線形性のポイントで、これはデシジョン ツリー モデルのノードが分割されるポイントになります。 たとえば、前のグラフで非線形性のポイントに対応しているノードは、次の図で表すことができます。 2 つの式は、2 本の線の回帰式を表します。

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

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

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

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

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

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

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

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

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

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

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

予測の作成

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

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

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

解説

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

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

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

参照

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