次の方法で共有


マイニング構造 (Microsoft Analysis Services - データ マイニング)

マイニング構造は、マイニング モデルの構築元となるデータを定義します。ソース データ ビュー、列の数と種類、およびトレーニング セットとテスト セットへのオプションのパーティションを指定します。 1 つのマイニング構造で、同じドメインを共有する複数のマイニング モデルをサポートできます。 次の図は、データ マイニング構造とデータ ソースとその構成データ マイニング モデルの関係を示しています。

データの処理: ソースから構造へ、構造からモデルへ

ダイアグラムのマイニング構造は、CustomerID フィールドで結合された複数のテーブルまたはビューを含むデータ ソースに基づいています。 1 つのテーブルには、地理的な地域、年齢、収入、性別などの顧客に関する情報が含まれますが、関連する入れ子になったテーブルには、顧客が購入した製品など、各顧客に関する追加情報の複数の行が含まれています。 この図は、1 つのマイニング構造上に複数のモデルを構築でき、モデルが構造とは異なる列を使用できることを示しています。

モデル 1 CustomerID、Income、Age、Region を使用し、リージョンのデータをフィルター処理します。

モデル 2 CustomerID、Income、Age、Region を使用し、Age のデータをフィルター処理します。

モデル 3 フィルターなしで CustomerID、Age、Gender、および入れ子になったテーブルを使用します。

モデルでは入力に異なる列が使用され、2 つのモデルでフィルターを適用することでモデルで使用されるデータがさらに制限されるため、モデルは同じデータに基づいているにもかかわらず、結果が非常に異なる可能性があります。 CustomerID 列はケース キーとして使用できる唯一の列であるため、すべてのモデルで必要であることに注意してください。

このセクションでは、データ マイニング構造の基本的なアーキテクチャについて説明します。マイニング構造を定義する方法、データを設定する方法、およびそれを使用してモデルを作成する方法について説明します。 既存のデータ マイニング構造を管理またはエクスポートする方法の詳細については、「 データ マイニング ソリューションとオブジェクトの管理」を参照してください。

マイニング構造の定義

データ マイニング構造の設定には、次の手順が含まれます。

  • データ ソースを定義します。

  • 構造に含めるデータの列を選択し (すべての列をモデルに追加する必要はありません)、キーを定義します。

  • 必要に応じて、「bested」テーブルのキーを含め、構造のキーを定義します。

  • ソース データをトレーニング セットとテスト セットに分離するかどうかを指定します。 このステップはオプションです。

  • 構造を処理します。

これらの手順は、以下のセクションで詳しく説明します。

マイニング構造のデータ ソース

マイニング構造を定義するときは、既存のデータ ソース ビューで使用できる列を使用します。 データ ソース ビューは、複数のデータ ソースを結合して 1 つのソースとして使用できる共有オブジェクトです。 元のデータ ソースはクライアント アプリケーションには表示されず、データ ソース ビューのプロパティを使用して、データ型の変更、集計の作成、またはエイリアス列を作成できます。

同じマイニング構造から複数のマイニング モデルを構築する場合、モデルは構造とは異なる列を使用できます。 たとえば、1 つの構造を作成し、そこから個別のデシジョン ツリー とクラスタリング モデルを構築し、各モデルで異なる列を使用し、異なる属性を予測できます。

さらに、各モデルでは、構造の列をさまざまな方法で使用できます。 たとえば、データ ソース ビューに Income 列が含まれている場合、モデルごとに異なる方法でビン分割できます。

データ マイニング構造には、データ ソースの定義とその列が、ソース データへの バインド の形式で格納されます。 データ ソース バインドの詳細については、「 データ ソースとバインド (SSAS 多次元)」を参照してください。 ただし、DMX CREATE MINING STRUCTURE (DMX) ステートメントを使用して、特定のデータ ソースにバインドせずにデータ マイニング構造を作成することもできます。

マイニング構造列

マイニング構造の構成要素は、データ ソースに格納されているデータについて記述したマイニング構造列です。 マイニング構造列には、データ型、コンテンツの種類、データの配布方法などの情報が格納されます。 マイニング構造には、特定のマイニング モデルの列の使用方法や、モデルの構築に使用されるアルゴリズムの種類に関する情報は含まれません。この情報は、マイニング モデル自体で定義されます。

マイニング構造には、入れ子になったテーブルを含めることもできます。 入れ子になったテーブルは、ケースのエンティティとその関連属性の間の一対多リレーションシップを表します。 たとえば、顧客を説明する情報が 1 つのテーブルに存在し、顧客の購入が別のテーブルに存在する場合は、入れ子になったテーブルを使用して情報を 1 つのケースに結合できます。 顧客識別子はエンティティであり、購入は関連する属性です。 入れ子になったテーブルを使用するタイミングの詳細については、「 入れ子になったテーブル (Analysis Services - データ マイニング)」を参照してください。

SQL Server Data Tools (SSDT) でデータ マイニング モデルを作成するには、まずデータ マイニング構造を作成する必要があります。 データ マイニング ウィザードでは、マイニング構造の作成、データの選択、マイニング モデルの追加のプロセスについて説明します。

データ マイニング拡張機能 (DMX) を使用してマイニング モデルを作成する場合は、モデルとその中の列を指定でき、DMX によって必要なマイニング構造が自動的に作成されます。 詳細については、「 マイニング モデルの作成 (DMX)」を参照してください。

詳細については、「 マイニング構造列」を参照してください。

データをトレーニング セットとテスト セットに分割する

マイニング構造のデータを定義するときに、トレーニングに使用するデータとテストに使用するデータを指定することもできます。 そのため、データ マイニング構造を作成する前にデータを分離する必要がなくなりました。 代わりに、モデルを作成するときに、データの一定の割合をテスト用に保持し、残りをトレーニングに使用するように指定したり、テスト データ セットとして使用する特定の数のケースを指定したりできます。 トレーニング データセットとテスト データ セットに関する情報はマイニング構造でキャッシュされるため、その構造に基づくすべてのモデルで同じテスト セットを使用できます。

詳細については、 データ・セットのトレーニングとテストを参照してください。

ドリルスルー機能の有効化

特定のマイニング モデルで列を使用する予定がない場合でも、マイニング構造に列を追加できます。 これは、たとえば、分析プロセス中に電子メール アドレスを使用せずに、クラスタリング モデルの顧客の電子メール アドレスを取得する場合に便利です。 分析および予測フェーズ中に列を無視するには、列を構造に追加しますが、列の使用法を指定しないか、使用フラグを [無視] に設定します。 この方法でフラグが設定されたデータは、マイニング モデルでドリルスルーが有効になっている場合や、適切なアクセス許可がある場合に、クエリで引き続き使用できます。 たとえば、すべての顧客の分析に起因するクラスターを確認し、ドリルスルー クエリを使用して、特定のクラスター内の顧客の名前と電子メール アドレスを取得できます。ただし、データの列はモデルの構築に使用されていません。

詳細については、「 ドリルスルー クエリ (データ マイニング)」を参照してください。

マイニング構造の処理

マイニング構造は、処理されるまでメタデータ コンテナーにすぎません。 マイニング構造を処理すると、Analysis Services は、データに関する統計、連続属性の分離方法に関する情報、および後でマイニング モデルで使用されるその他の情報を格納するキャッシュを作成します。 マイニング モデル自体は、この概要情報を格納するのではなく、マイニング構造の処理時にキャッシュされた情報を参照します。 そのため、既存の構造に新しいモデルを追加するたびに構造体を再処理する必要はありません。モデルのみを処理できます。

キャッシュが非常に大きい場合、または詳細なデータを削除する場合は、処理後にこのキャッシュを破棄することを選択できます。 データをキャッシュしない場合は、マイニング構造の CacheMode プロパティを ClearAfterProcessingに変更できます。 これにより、モデルの処理後にキャッシュが破棄されます。 CacheMode プロパティを ClearAfterProcessing に設定すると、マイニング モデルからのドリルスルーが無効になります。

ただし、キャッシュを破棄した後は、マイニング構造に新しいモデルを追加することはできません。 構造に新しいマイニング モデルを追加する場合、または既存のモデルのプロパティを変更する場合は、まずマイニング構造を再処理する必要があります。 詳細については、「 処理要件と考慮事項 (データ マイニング)」を参照してください。

マイニング構造の表示

ビューアーを使用してマイニング構造内のデータを参照することはできません。 ただし、SQL Server Data Tools (SSDT) では、データ マイニング デザイナーの [ マイニング構造 ] タブを使用して、構造列とその定義を表示できます。 詳細については、「 データ マイニング デザイナー」を参照してください。

マイニング構造のデータを確認する場合は、データ マイニング拡張機能 (DMX) を使用してクエリを作成できます。 たとえば、ステートメント SELECT * FROM <structure>.CASES は、マイニング構造内のすべてのデータを返します。 この情報を取得するには、マイニング構造を処理し、処理の結果をキャッシュする必要があります。

ステートメント SELECT * FROM <model>.CASES は同じ列を返しますが、その特定のモデルの場合にのみ返されます。 詳細については、「SELECT FROM <structure>.CASES」と「SELECT FROM <model>.CASES (DMX)」を参照してください。

マイニング構造を使ったデータマイニングモデルの活用

データ マイニング モデルは、マイニング構造で表されるデータにマイニング モデル アルゴリズムを適用します。 マイニング モデルは特定のマイニング構造に属するオブジェクトであり、モデルはマイニング構造によって定義されているプロパティのすべての値を継承します。 モデルでは、マイニング構造に含まれるすべての列または列のサブセットを使用できます。 構造体列の複数のコピーを構造体に追加できます。 1 つの構造列の複数のコピーをモデルに追加し、モデル内の各構造体列に異なる名前または 別名を割り当てることもできます。 構造列のエイリアシングの詳細については、「 モデル列の別名の作成 」および「 マイニング モデルのプロパティ」を参照してください。

データ マイニング モデルのアーキテクチャの詳細については、「 マイニング モデル (Analysis Services - データ マイニング)」を参照してください。

マイニング構造を定義、管理、および使用する方法の詳細については、提供されているリンクを使用してください。

タスク リンクス
リレーショナル マイニング構造を操作する 新しいリレーショナル マイニング構造を作成する

入れ子になったテーブルをマイニング構造に追加する
OLAP キューブに基づくマイニング構造の操作 新しい OLAP マイニング構造を作成する

マイニング構造のソース キューブをフィルター処理する
マイニング構造の列を操作する マイニング構造に列を追加する

マイニング構造から列を削除する
マイニング構造のプロパティとデータを変更またはクエリする マイニング構造のプロパティを変更する
基になるデータ ソースを操作し、ソース データを更新する マイニング構造に使用されるデータ ソース ビューを編集する

マイニング構造の処理

こちらもご覧ください

データベース オブジェクト (Analysis Services - 多次元データ)
マイニング モデル (Analysis Services - データ マイニング)