データ マイニング プロジェクト

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

重要

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

データ マイニング プロジェクトは、SQL Server Analysis Services ソリューションの一部です。 デザイン プロセス時に、このプロジェクトで作成したオブジェクトをワークスペース データベースの一部としてテストおよびクエリに使用できます。 ユーザーがプロジェクト内のオブジェクトに対してクエリを実行または参照できるようにするには、多次元モードで実行されている SQL Server Analysis Servicesのインスタンスにプロジェクトを配置する必要があります。

ここでは、データ マイニング プロジェクトを理解し、作成するために必要な基本的な情報を提供します。

データ マイニング プロジェクトの作成

データ マイニング プロジェクト内のオブジェクト

完成したデータ マイニング プロジェクトの使用

データ マイニング プロジェクトへのプログラムによるアクセス

データ マイニング プロジェクトの作成

SQL Server Data Toolsでは、テンプレート OLAP とデータ マイニング プロジェクトを使用してデータ マイニング プロジェクトをビルドします。 AMO を使用して、プログラムでデータ マイニング プロジェクトを作成することもできます。 個々のデータ マイニング オブジェクトは、Analysis Services スクリプト言語 (ASSL) を使用してスクリプト化できます。 詳細については、「 多次元モデル データ アクセス (Analysis Services - 多次元データ)」を参照してください。

既存のソリューション内にデータ マイニング プロジェクトを作成する場合、既定では、データ マイニング オブジェクトはソリューション ファイルと同じ名前のSQL Server Analysis Services データベースにデプロイされます。 この名前およびターゲット サーバーは、[プロジェクトのプロパティ] ダイアログ ボックスを使用して変更できます。 詳細については、「 Analysis Services プロジェクトのプロパティの構成 (SSDT)」を参照してください。

警告

プロジェクトを正常にビルドして配置するには、OLAP/データ マイニング モードで実行されているSQL Server Analysis Servicesのインスタンスにアクセスできる必要があります。 表形式モデルをサポートするSQL Server Analysis Servicesのインスタンスでデータ マイニング ソリューションを開発または展開したり、Power Pivot ブックまたはメモリ内データ ストアを使用する表形式モデルから直接データを使用したりすることはできません。 持っているSQL Server Analysis Servicesのインスタンスがデータ マイニングをサポートできるかどうかを判断するには、「Analysis Services インスタンスのサーバー モードを決定する」を参照してください。

作成する各データ マイニング プロジェクト内で、次の手順を実行します。

  1. キューブ、データベース、Excel ファイル、テキスト ファイルなど、モデルの作成に使用する生データが含まれている データ ソースを選択します。

  2. 分析に使用するデータ ソース内のデータのサブセットを定義し、それを データ ソース ビューとして保存します。

  3. モデリングをサポートするように マイニング構造 を定義します。

  4. アルゴリズム を選択し、そのアルゴリズムによるデータの処理方法を指定して、 マイニング モデル をマイニング構造に追加します。

  5. 選択したデータまたはフィルター選択されたデータのサブセットをモデルに設定して、モデルをトレーニングします。

  6. モデルを調査、テスト、および再構築します。

プロジェクトが完成したら、そのプロジェクトをユーザーが参照またはクエリできるように配置したり、アプリケーションのプログラムからマイニング モデルにアクセスできるようにしたりして、予測や分析をサポートすることができます。

データ マイニング プロジェクト内のオブジェクト

すべてのデータ マイニング プロジェクトには、次の 4 種類のオブジェクトが含まれます。 どの種類のオブジェクトも複数含めることができます。

  • データ ソース

  • データ ソース ビュー

  • マイニング構造

  • [マイニング モデル]

たとえば、1 つのデータ マイニング プロジェクトに、それぞれが複数のデータ ソース ビューをサポートしている複数のデータ ソースへの参照を含めることができます。 さらに、各データ ソース ビューは、それぞれが多数のマイニング モデルに関連付けられている複数のマイニング構造をサポートできます。

また、プロジェクトには、プラグイン アルゴリズム、カスタム アセンブリ、またはカスタム ストアド プロシージャを含めることもできます。ただし、ここでは、これらのオブジェクトについて説明しません。 詳細については、「 開発者ガイド (Analysis Services)」を参照してください。

ソリューション エクスプローラー

データ ソースは、SQL Server Analysis Services サーバーがデータ ソースへの接続に使用する接続文字列と認証情報を定義します。 データ ソースには、複数のテーブルまたはビューを含めることができます。また、1 つの Excel ブックやテキスト ファイルのように単純なものや、オンライン分析処理 (OLAP) データベースや大規模なリレーショナル データベースのように複雑なものを指定することもできます。

1 つのデータ マイニング プロジェクトで、複数のデータ ソースを参照できます。 マイニング モデルで一度に使用できるデータ ソースは 1 つだけですが、異なるデータ ソースを利用する複数のモデルをプロジェクトに含めることができます。

SQL Server Analysis Servicesは多くの外部プロバイダーからのデータをサポートしており、SQL Serverデータ マイニングではリレーショナル データとキューブ データの両方をデータ ソースとして使用できます。 ただし、リレーショナル ソースに基づいて両方の種類のプロジェクト モデルを開発し、OLAP キューブに基づくモデルを開発する場合は、これらを別々のプロジェクトで開発および管理することをお勧めします。

  • 通常、OLAP キューブに基づくモデルは、OLAP デザイン ソリューション内で開発する必要があります。 その理由の 1 つとして、キューブに基づくモデルでは、データを更新するためにキューブを処理する必要があることが挙げられます。 一般に、キューブ データを使用する必要があるのは、それがデータを保存およびアクセスするための主な手段である場合、または多次元プロジェクトで作成された集計、ディメンション、および属性が必要な場合だけです。

  • プロジェクトでリレーショナル データのみを使用する場合は、その他のオブジェクトを不必要に再処理しないように、独立したプロジェクト内でリレーショナル モデルを作成する必要があります。 多くの場合、キューブの作成をサポートするために使用されるステージング データベースまたはデータ ウェアハウスには、データ マイニングの実行に必要なビューが既に含まれています。そのため、キューブ内の集計やディメンションではなく、それらのビューを使用して、データ マイニングを実行できます。

  • メモリ内または Power Pivot データを直接使用してデータ マイニング モデルを構築することはできません。

データ ソースでは、サーバーまたはプロバイダーと、一般的な種類のデータのみが識別されます。 データの書式および集計を変更する必要がある場合は、データ ソース ビュー オブジェクトを使用します。

データ ソースのデータの処理方法を制御するには、派生列または計算の追加、集計の変更、またはデータ ソース ビュー内のデータの列名の変更を行います (また、マイニング構造列を変更するか、マイニング モデル列のレベルでモデリング フラグおよびフィルターを使用することで、下流のデータを操作することもできます)。

データ クレンジングが必要な場合、またはデータ ウェアハウス内のデータを変更して、追加の変数の作成、データの種類の変更、または代替の集計の作成を行う必要がある場合は、データ マイニングをサポートする追加のプロジェクトの種類を作成する必要があります。 これらの関連するプロジェクトの詳細については、「 Related Projects for Data Mining Solutions」(データ マイニング ソリューションの関連プロジェクト) を参照してください。

データ ソース ビュー

データ ソースへの接続を定義した後、モデルに関連する特定のデータを確認するビューを作成します。

データ ソース ビューでは、データ ソース内のデータをマイニング モデルに入力する方法をカスタマイズすることもできます。 プロジェクトとの関連性をより高めるためにデータの構造を変更したり、特定の種類のデータのみを選択したりできます。

たとえば、データ ソース ビュー エディターを使用して、次のことができます。

  • 日付要素、サブストリングなどの派生列を作成する

  • GROUP BY などの Transact-SQL ステートメントを使用して値を集計する

  • データを一時的に制限する、またはデータをサンプリングする

データ ソース ビュー内のデータを変更する方法については、「 多次元モデルのデータ ソース ビュー」を参照してください。

警告

データのフィルター選択はデータ ソース ビューで行うことができますが、マイニング モデルのレベルでデータに対するフィルターを作成することもできます。 フィルターの定義はマイニング モデルと共に格納されるため、モデル フィルターを使用すると、モデルのトレーニングに使用したデータを簡単に特定できます。 また、さまざまなフィルター条件を使用して、複数の関連モデルを作成することもできます。 詳細については、「 マイニング モデルのフィルター (Analysis Services - データ マイニング)」を参照してください。

作成したデータ ソース ビューには、分析に直接使用されない追加のデータを含めることができます。 たとえば、テスト、予測、またはドリルスルーに使用するデータをデータ ソース ビューに追加できます。 これらの使用方法の詳細については、「テストと検証 (データ マイニング)」と「ドリルスルー」を参照してください。

マイニング構造

データ ソースとデータ ソース ビューを作成したら、プロジェクト内に マイニング構造 を定義して、ビジネス上の問題に最も関連するデータの列を選択する必要があります。 マイニング構造によって、モデリング、トレーニング、およびテストに実際に使用するデータ ソース ビューのデータの列をプロジェクトに指示します。

新しいマイニング構造を追加するには、データ マイニング ウィザードを起動します。 ウィザードでは、自動的にマイニング構造が定義されます。手順に従ってデータを選択しますが、必要に応じて初期マイニング モデルを構造に追加することもできます。 マイニング構造内で、データ ソース ビューまたは OLAP キューブのテーブルおよび列を選択し、データに入れ子になったテーブルが含まれている場合は、テーブル間のリレーションシップを定義します。

データ マイニング ウィザードでは、リレーショナル データ ソースを使用するか、オンライン分析処理 (OLAP) データ ソースを使用するかによって、データの選択は大きく異なります。

  • リレーショナル データ ソースからデータを選択する場合、マイニング構造の設定は簡単です。データ ソース ビューのデータから列を選択し、別名などの追加のカスタマイズを設定したり、列内の値をグループ化またはビン分割する方法を定義したりします。 詳細については、「 Create a Relational Mining Structure」(リレーショナル マイニング構造の作成) を参照してください。

  • OLAP キューブのデータを使用する場合、マイニング構造は OLAP ソリューションと同じデータベース内に存在する必要があります。 マイニング構造を作成するには、OLAP ソリューションのディメンションと関連するメジャーから属性を選択します。 通常、数値はメジャーにあり、カテゴリ変数はディメンションにあります。 詳細については、「 Create an OLAP Mining Structure」(OLAP マイニング構造の作成) を参照してください。

  • DMX を使用して、マイニング構造を定義することもできます。 詳細については、「 データ マイニング拡張機能 (DMX) データ定義ステートメント」を参照してください。

初期のマイニング構造を作成した後、構造列のコピー、変更、および別名の指定を行うことができます。

各マイニング構造には、複数のマイニング モデルを含めることができます。 そのため、マイニング構造を作成後に再度開き、 Data Mining Designer を使用して、マイニング モデルをマイニング構造に追加できます。

また、モデルの作成に使用するトレーニング データセットと、マイニング モデルのテストまたは検証に使用する予約データセットにデータを分割することもできます。

警告

タイム シリーズ モデルなど、一部のモデルの種類では、トレーニング用に連続する一連のデータが必要なため、予約データセットの作成はサポートされていません。 詳しくは、「 Training and Testing Data Sets」をご覧ください。

[マイニング モデル]

マイニング モデルでは、アルゴリズム、つまりデータに対して使用する分析の方法を定義します。 それぞれのマイニング構造に、1 つ以上のマイニング モデルを追加します。

必要に応じて、複数のモデルを 1 つのプロジェクトにまとめることや、モデルや分析タスクの種類ごとに別々のプロジェクトを作成することができます。

構造とモデルを作成したら、データの数学的モデルを生成するアルゴリズムを使用して、データ ソース ビューのデータを実行することで各モデルを 処理 します。 このプロセスは、 モデルのトレーニングとも呼ばれます。 詳細については、「 処理の要件と考慮事項 (データ マイニング)」を参照してください。

モデルを処理した後、マイニング モデルの視覚的な調査およびマイニング モデルに対する予測クエリの作成を行うことができます。 トレーニング処理のデータがキャッシュされていると、 ドリルスルー クエリによって、モデルで使用されたケースに関する詳細情報を返すことができます。

モデルを実稼働環境で (予測の作成、一般のユーザーによる調査などに) 使用する場合、モデルを別のサーバーに配置できます。 後でモデルを再処理する必要がある場合は、基になるマイニング構造の定義 (必要な場合は、さらにデータ ソースとデータ ソース ビューの定義) を同時にエクスポートする必要もあります。

モデルを配置する場合は、構造およびモデルに適切な処理オプションが設定されていること、およびクエリの実行、モデルの表示、および構造またはモデル データへのドリルスルーに必要な権限が潜在的なユーザーに与えられていることも確認する必要があります。 詳細については、「 セキュリティの概要 (データ マイニング)」を参照してください。

完成したデータ マイニング プロジェクトの使用

ここでは、完成したデータ マイニング プロジェクトを使用する方法について説明します。 精度チャートを作成し、データを調査および検証し、データ マイニング パターンをユーザーが使用できるようにすることができます。

警告

データ マイニング モデルで使用するチャート、クエリ、および視覚エフェクトは、データ マイニング プロジェクトの一部として保存されず、配置することもできません。 これらのオブジェクトを保持する必要がある場合は、表示される内容を保存するか、各オブジェクトの説明に従ってスクリプト化する必要があります。

モデルの表示および調査

モデルを作成した後、ビジュアル ツールおよびクエリを使用して、モデル内のパターンを調査し、基になるパターンと統計値を詳細に分析することができます。 データ マイニング Designerの [マイニング モデル ビューアー] タブで、SQL Server Analysis Servicesはマイニング モデルの種類ごとにビューアーを提供します。このビューアーは、マイニング モデルの探索に使用できます。

これらの視覚化は一時的なものであり、SQL Server Analysis Servicesを使用してセッションを終了すると保存されずに閉じられます。 そのため、プレゼンテーションや追加の分析のために、これらの視覚エフェクトを別のアプリケーションにエクスポートする必要がある場合は、ビューアー インターフェイスの各タブまたはペインに用意されている [コピー] を使用します。

また、Excel 用データ マイニング アドインでは、Visio テンプレートが提供されます。それを使用して、Visio の図でモデルを表現し、Visio のツールを使用して図に注釈を付けたり、変更したりできます。 詳細については、「 Microsoft Office 2007 用 Microsoft SQL Server 2008 データ マイニング アドイン」を参照してください。

モデルのテストおよび検証

モデルを作成した後、結果を調査して、最もパフォーマンスの良いモデルを決定できます。

SQL Server Analysis Servicesには、マイニング モデルを直接比較し、最も正確で有用なマイニング モデルを選択するために使用できるツールを提供するために使用できるいくつかのグラフが用意されています。 これらのツールには、リフト チャート、利益チャート、および分類マトリックスが含まれます。 データ マイニング デザイナーの [マイニング精度チャート] タブ使ってこれらのグラフを生成できます。

相互検証レポートを使用して、データの反復サブサンプリングを実行することで、モデルが特定のデータに偏っていないかどうかを判断することもできます。 このレポートで提供される統計情報を使用すると、モデルを客観的に比較したり、トレーニング データの質を評価したりできます。

これらのレポートおよびチャートは、プロジェクトまたは ssASnoversion データベースに保存されません。そのため、その結果を保持または複製する必要がある場合は、結果を保存するか、DMX または AMO を使用してオブジェクトをスクリプト化する必要があります。 クロス検証にストアド プロシージャを使用することもできます。

詳細については、「 テストと検証 (データ マイニング)」を参照してください。

予測の作成

SQL Server Analysis Servicesは、予測を作成するための基礎となるデータ マイニング拡張機能 (DMX) と呼ばれるクエリ言語を提供し、簡単にスクリプト化できます。 DMX 予測クエリの構築に役立つSQL Serverは、SQL Server Management Studioで使用できるクエリ ビルダーを提供します。 SQL Server Management Studioには、クエリ エディター用の DMX テンプレートも多数あります。予測クエリを初めて使用する場合は、データ マイニング DesignerとSQL Server Management Studioの両方で提供されるクエリ ビルダーを使用することをお勧めします。 詳しくは、「 Data Mining Tools」をご覧ください。

SQL Server Data ToolsまたはSQL Server Management Studioで作成した予測は永続化されないため、クエリが複雑な場合や結果を再現する必要がある場合は、予測クエリを DMX クエリ ファイルに保存するか、スクリプトを作成するか、Integration Services パッケージの一部としてクエリを埋め込むことをお勧めします。

データ マイニング オブジェクトへのプログラムによるアクセス

SQL Server Analysis Servicesには、データ マイニング プロジェクトとその中のオブジェクトをプログラムで操作するために使用できるいくつかのツールが用意されています。 DMX 言語に用意されているステートメントを使用して、データ ソースおよびデータ ソース ビューを作成することや、データ マイニング構造およびモデルを作成、トレーニング、および使用することができます。 詳細については、「データ マイニング拡張機能 (DMX) リファレンス」を参照してください。

また、これらの作業は、Analysis Services スクリプト言語 (ASSL) または分析管理オブジェクト (AMO) を使用して実行することもできます。 詳細については、「 Analysis Services での XMLA による開発」を参照してください。

次のトピックでは、データ マイニング ウィザードを使用して、データ マイニング プロジェクトおよび関連するオブジェクトを作成する方法について説明しています。

タスク トピック
マイニング構造列を操作する方法について説明します。 Create a Relational Mining Structure
新しいマイニング モデルを追加し、構造とモデルを処理する方法について詳しく説明します。 マイニング モデルを構造に追加する (Analysis Services - データ マイニング)
マイニング モデルを作成するアルゴリズムのカスタマイズに役立つリソースへのリンクを提供します。 マイニング モデルとマイニング構造のカスタマイズ
各マイニング モデル ビューアーに関する情報へのリンクを提供します。 データ マイニング モデル ビューアー
リフト チャート、利益チャート、または分類マトリックスを作成する方法、またはマイニング構造をテストする方法について説明します。 テストおよび検証 (データ マイニング)
処理オプションと権限について説明します。 データ マイニング オブジェクトの処理
Analysis Services について詳しく説明します。 多次元モデル データベース

参照

Data Mining Designer
SQL Server データ ツール (SSDT) を使用した多次元モデルの作成
ワークスペース データベース