Create a Relational Mining Structure
適用対象:SQL Server 2019 以前の Analysis Services Azure Analysis Services Fabric/Power BI Premium
重要
データ マイニングは SQL Server 2017 Analysis Services で非推奨となり、SQL Server 2022 Analysis Services で停止されました。 非推奨および停止された機能については、ドキュメントの更新は行われません。 詳細については、「Analysis Services 下位互換性」を参照してください。
ほとんどのデータ マイニング モデルは、リレーショナル データ ソースに基づいています。 リレーショナル データ マイニング モデルを作成する利点は、キューブの作成という複雑な作業をせずに、アドホック データをまとめ、モデルをトレーニングおよび更新できることです。
リレーショナル マイニング構造では、さまざまなソースからデータを取得できます。 生データは、データ ソース ビューの一部として定義可能であれば、テーブル、ファイル、またはリレーショナル データベース システムに格納できます。 たとえば、データが Excel、SQL Server データ ウェアハウス データベース、または SQL Server レポート データベースにある場合、あるいは OLE DB プロバイダーまたは ODBC プロバイダー経由でアクセスする外部ソースにある場合は、リレーショナル マイニング構造を使用する必要があります。
ここでは、データ マイニング ウィザードを使用して、リレーショナル マイニング構造を作成する方法の概要について説明します。
要件
最初に、既存のデータ ソースが必要です。 データ ソースがまだ存在しない場合は、データ ソース デザイナーを使用して、データ ソースを設定できます。 詳細については、「 データ ソースの作成 (SSAS 多次元)」を参照してください。
次に、データ ソース ビュー ウィザードを使用して、必要なデータを 1 つのデータ ソース ビューにまとめます。 データ ソース ビューでデータを選択、変換、フィルター選択、または管理する方法の詳細については、「 多次元モデルのデータ ソース ビュー」をご覧ください。
プロセスの概要
ソリューション エクスプローラーで [マイニング構造] ノードを右クリックし、 [新しいマイニング構造の追加]を選択して、データ マイニング ウィザードを起動します。 ウィザードでは、次の手順に従って新しいリレーショナル マイニング モデルの構造を作成します。
[定義方法の選択]: データ ソースの種類を選択し、 [リレーショナル データベースまたはデータ ウェアハウスを使用する]を選択します。
[データ マイニング構造の作成]: 構造のみを作成するか、構造と共にマイニング モデルも作成するかを決定します。
さらに、初期モデルに適切なアルゴリズムを選択します。 特定のタスクに最適なアルゴリズムのガイダンスについては、「 データ マイニング アルゴリズム (Analysis Services - データ マイニング)」を参照してください。
[データ ソース ビューの選択]: モデルのトレーニングで使用するデータ ソース ビューを選択します。 データ ソース ビューには、テストに使用するデータや関連のないデータを含めることもできます。 構造およびモデルで実際に使用するデータを選択します。 また、後でデータにフィルターを適用することもできます。
[テーブルの種類の指定]: 分析に使用するケースを含むテーブルを選択します。 一部のデータ セット (特にマーケット バスケット モデルの作成に使用されるデータ セット) では、入れ子になったテーブルとして使用する関連テーブルを含めることもできます。
一意のレコードを識別する方法をアルゴリズムで認識できるように、各テーブルにキーを指定する必要があります。入れ子になったテーブルを追加した場合は、関連レコードも指定します。
詳細については、「 マイニング構造列」をご覧ください。
[トレーニング データの指定]: このページでは、 ケース テーブルを選択します。ケース テーブルは、分析するうえで最も重要なデータを含むテーブルです。
一部のデータ セット (特にマーケット バスケット モデルの作成に使用されるデータ セット) では、関連テーブルを含めることもできます。 その入れ子になったテーブル内の値は、メイン テーブル内の 1 つの行 (またはケース) に関連付けられている複数の値として処理されます。
[列のコンテンツおよびデータ型の指定]: 構造で使用する列ごとに、 データ型 と コンテンツの種類の両方を選択する必要があります。
ウィザードは、使用可能なデータ型を自動的に検出しますが、ウィザードで推奨されるデータ型を使用する必要はありません。 たとえば、データに数値が含まれる場合でも、カテゴリ データを表していることがあります。 キーとして指定した列には、その特定のモデルの種類に適したデータ型が自動的に割り当てられます。 詳細については、「 マイニング モデルの列 と データ型 (データ マイニング)」を参照してください。
モデルで使用するそれぞれの列に対して選択した コンテンツの種類 により、アルゴリズムにおけるデータの処理方法が決まります。
たとえば、連続値を使用する代わりに、数値を分離できます。 また、アルゴリズムによって、列に最適なコンテンツの種類を自動的に検出することもできます。 詳細については、「 コンテンツ タイプ (データ マイニング)」を参照してください。
[テスト セットの作成]: このページでは、モデルのテスト用に使用するデータの量を指定します。 データで複数のモデルがサポートされている場合は、同じデータに対してすべてのモデルをテストできるように予約データセットを作成することをお勧めします。
詳細については、「 テストと検証 (データ マイニング)」を参照してください。
[ウィザードの完了]: このページでは、新しいマイニング構造と関連マイニング モデルに名前を付け、構造とモデルを保存します。
モデルの種類によっては、いくつかの重要なオプションを設定することもできます。 たとえば、構造のドリルスルーを有効にできます。
この段階で、マイニング構造とそのモデルは単なるメタデータです。結果を得るには、これらの両方を処理する必要があります。
リレーショナル データの選択方法
リレーショナル マイニング構造は、OLE DB データ ソースで使用可能なすべてのデータに基づいて作成できます。 ソース データが複数のテーブルに格納されている場合は、データ ソース ビューを使用して、必要なテーブルと列を 1 か所にまとめることができます。
たとえば、テーブルに一対多リレーションシップが含まれている場合、分析する顧客ごとに複数の購入レコードがあります。両方のテーブルを追加し、ケース テーブルとして 1 つのテーブルを使用し、リレーションシップの多くの側のデータを入れ子になったテーブルとしてリンクできます。
マイニング構造のデータは、既存のデータ ソース ビューから取得されます。 データ ソース ビュー内のデータを必要に応じて変更し、基になるリレーショナル データに存在しないリレーションシップや派生列を追加できます。 また、データ ソース ビュー内に名前付き計算または集計を作成することもできます。 これらの機能は、データ ソースでデータの配置を制御できない場合や、データ マイニング モデルに対してデータの異なる集計をテストする場合に非常に便利です。
使用可能なすべてのデータを使用する必要はありません。マイニング構造に含める列を選択できます。 その構造に基づいているすべてのモデルでそれらの列を使用できます。また、特定のモデルの特定の列に Ignore というフラグを設定することもできます。 データ マイニング モデルのユーザーがマイニング モデルの結果からドリル ダウンして、マイニング モデル自体に含まれていなかった追加のマイニング構造列を確認できるようにすることができます。
コンテンツの種類とデータ型を指定する方法
データ型は、SQL Server などのアプリケーション インターフェイスで指定するデータ型とほぼ同じで、日付/時刻、さまざまなサイズの数値、ブール値、テキスト、およびその他の不連続なデータがあります。
一方、コンテンツの種類はデータ マイニングにとって重要で、分析の結果に影響を与えます。 コンテンツの種類により、アルゴリズムにおけるデータの処理方法 (数値を連続して処理するかビン分割するか、 有効な値がいくつあるか、 各値が重複していないか、 値がキーの場合、キーの種類は何ですか。 日付/時刻値、シーケンス、またはその他の種類のキーを示していますか?
選択するデータ型によって、コンテンツの種類の選択が制限される場合があります。 たとえば、数値でない値は分離できません。 目的のコンテンツの種類が表示されない場合は、 [戻る] をクリックしてデータ型のページに戻り、別のデータ型を選択します。
コンテンツの種類を間違えてもあまり気にする必要はありません。 新しいモデルを作成し、そのモデル内のコンテンツの種類を変更するのは非常に簡単です。ただし、新しいコンテンツの種類がマイニング構造のデータ型セットでサポートされている必要があります。 また、テスト目的や、別のアルゴリズムの要件に合わせる目的で、さまざまなコンテンツの種類を使用して複数のモデルを作成することも非常に一般的です。
たとえば、データに Income 列が含まれている場合、Microsoft デシジョン ツリー アルゴリズムを使用して 2 つの異なるモデルを作成し、それぞれの列を連続する数値と不連続な範囲のどちらかとして構成できます。 ただし、Microsoft Naïve Bayes アルゴリズムを使用してモデルを追加すると、列は分離された値のみに強制的に変更されます。これは、そのアルゴリズムでは連続する数値がサポートされていないためです。
データをトレーニング セットとテスト セットに分割する理由と方法
ウィザードの終了間際では、データをトレーニング セットとテスト セットのどちらにパーティション分割するかを決定する必要があります。 データのランダムにサンプリングされた部分をテスト用に準備するこの機能により、一貫したテスト データのセットが新しいマイニング構造に関連するすべてのマイニング モデルで使用できるようになるため、非常に便利です。
警告
このオプションは、すべてのモデルの種類で使用できるわけではありません。 たとえば、予測モデルを作成する場合、時系列アルゴリズムではデータにギャップが存在しない必要があるため、ホールドアウトを使用することはできません。 予約データセットをサポートするモデルの種類の一覧については、「 トレーニング データ セットとテスト データ セット」をご覧ください。
この予約データセットを作成するには、テストに使用するデータの割合を指定します。 残りのすべてのデータはトレーニングに使用されます。 必要に応じて、テストに使用するケースの最大数を設定することや、ランダム選択プロセスの開始時に使用するシード値を設定することができます。
予約テスト セットの定義はマイニング構造と一緒に格納されます。これにより、構造に基づいて新しいモデルを作成するときに、このテスト データセットを使用してモデルの精度を評価できるようになります。 マイニング構造のキャッシュを削除すると、トレーニングおよびテストに使用したケースに関する情報も削除されます。
ドリルスルーを有効にする理由と方法
ウィザードのほぼ最後に、 ドリルスルーを有効にするオプションがあります。 このオプションを見逃すのは簡単ですが、重要なオプションです。 ドリルスルーを使用すると、マイニング モデルにクエリを実行することにより、マイニング構造内のソース データを表示できます。
なぜこれが役に立つのでしょうか。 たとえば、クラスター モデルの結果を表示し、特定のクラスターに配置された顧客を確認する必要がある場合、 ドリルスルーを使用すると、連絡先情報などの詳細を表示できます。
警告
ドリルスルーを使用するには、マイニング構造の作成時にドリルスルーを有効にする必要があります。 モデルのドリルスルーはモデルのプロパティを設定することで後から有効にできますが、マイニング構造のこのオプションは最初に設定する必要があります。 詳細については、「 ドリルスルー クエリ (データ マイニング)」を参照してください。
参照
Data Mining Designer
データ マイニング ウィザード (Analysis Services - データ マイニング)
マイニング モデルのプロパティ
マイニング構造と構造列のプロパティ
マイニング構造のタスクと操作方法