データ マイニングは、複数のコンポーネントの相互作用を伴うプロセスです。
トレーニング、テスト、または予測に使用する SQL Server データベースまたはその他のデータ ソース内のデータ ソースにアクセスします。
SQL Server Data Tools (SSDT) または Visual Studio を使用して、データ マイニング構造とモデルを定義します。
SQL Server Management Studio を使用して、データ マイニング オブジェクトを管理し、予測とクエリを作成します。
ソリューションが完了したら、Analysis Services のインスタンスにデプロイします。
これらのソリューション オブジェクトを作成するプロセスは、既に他の場所で説明されています。 詳細については、「 データ マイニング ソリューション」を参照してください。
データマイニングのソースデータ
データ マイニングで使用するデータは、データ マイニング ソリューションには格納されません。バインディングのみが格納されます。 データは、以前のバージョンの SQL Server、CRM システム、またはフラット ファイルで作成されたデータベースに存在する可能性があります。 処理によって構造またはモデルをトレーニングすると、データの統計要約が作成され、後の操作で使用するために保持したり、処理後に削除したりできるキャッシュに格納されます。 詳細については、「 マイニング構造 (Analysis Services - データ マイニング)」を参照してください。
Analysis Services データ ソース ビュー (DSV) オブジェクト内の異なるデータを組み合わせると、データ ソースの上に抽象化レイヤーが提供されます。 テーブル間の結合を指定したり、多対一リレーションシップを持つテーブルを追加して入れ子になったテーブル列を作成したりできます。 これらのオブジェクト (データ ソースとデータ ソース ビュー) の定義は、ファイル名拡張子 *.ds と *.dsv を使用してソリューション内に格納されます。 Analysis Services データ ソースとデータ ソース ビューの作成と使用の詳細については、「 サポートされるデータ ソース (SSAS 多次元)」を参照してください。
AMO または XMLA を使用して、データ ソースとデータ ソース ビューを定義および変更することもできます。 これらのオブジェクトをプログラムで操作する方法の詳細については、「 論理アーキテクチャの概要 (Analysis Services - 多次元データ)」を参照してください。
マイニング構造
データ マイニング構造は、マイニング モデルの構築元となるデータ ドメインを定義する論理データ コンテナーです。 1 つのマイニング構造で複数のマイニング モデルをサポートできます。
データ マイニング ソリューションでデータを使用する必要がある場合、Analysis Services はソースからデータを読み取り、集計やその他の情報のキャッシュを生成します。 既定では、このキャッシュは保持されるため、トレーニング データを再利用して追加のモデルをサポートできます。 キャッシュを削除する必要がある場合は、マイニング構造オブジェクトの CacheMode
プロパティを値 ClearAfterProcessing
に変更します。 詳細については、「 AMO データ マイニング クラス」を参照してください。
SQL Server 2014 Analysis Services (SSAS) には、データをトレーニング データセットとテスト データ セットに分割する機能も用意されているため、代表的なランダムに選択されたデータ セットでマイニング モデルをテストできます。 データは実際には個別に格納されません。むしろ、構造体キャッシュ内のケース データは、その特定のケースがトレーニングまたはテストに使用されるかどうかを示すプロパティでマークされます。 キャッシュが削除された場合、その情報は取得できません。
詳細については、「 マイニング構造 (Analysis Services - データ マイニング)」を参照してください。
データ マイニング構造には、入れ子になったテーブルを含めることができます。 入れ子になったテーブルは、プライマリ データ テーブルでモデル化されるケースに関する詳細を提供します。 詳細については、「ネストされたテーブル (Analysis Services - データ マイニング)」を参照してください。
マイニング モデル
処理の前に、データ マイニング モデルはメタデータ プロパティの組み合わせにすぎません。 これらのプロパティは、マイニング構造を指定し、データ マイニング アルゴリズムを指定し、データの処理方法に影響を与えるパラメーターとフィルター設定のコレクションを定義します。 詳細については、「 マイニング モデル (Analysis Services - データ マイニング)」を参照してください。
モデルを処理すると、マイニング構造キャッシュに格納されたトレーニング データを使用して、データの統計プロパティと、アルゴリズムとそのパラメーターで定義されたヒューリスティックの両方に基づいてパターンを生成します。 これはモデルの 学習 と呼ばれます。
トレーニングの結果は、 モデル コンテンツ内に含まれる一連の概要データであり、検出されたパターンを記述し、予測を生成するためのルールを提供します。 詳細については、「 マイニング モデル コンテンツ (Analysis Services - データ マイニング)」を参照してください。
限られたケースでは、モデルの論理構造を、標準形式である予測モデリング マークアップ言語 (PMML) に従ってモデルの数式とデータ バインディングを表すファイルにエクスポートすることもできます。 この論理構造は、PMML とモデルを利用する他のシステムにインポートできるため、説明を予測に使用できます。 詳細については、「 DMX Select ステートメントについて」を参照してください。
カスタム データ マイニング オブジェクト
精度グラフや予測クエリなど、データ マイニング プロジェクトのコンテキストで使用するその他のオブジェクトはソリューション内に保持されませんが、ASSL を使用してスクリプト化したり、AMO を使用して構築したりできます。
さらに、Analysis Services のインスタンスで使用できるサービスと機能を拡張するには、次のカスタム オブジェクトを追加します。
カスタム アセンブリ
.NET アセンブリは、CLR または COM クレーム言語を使用して定義し、SQL Server のインスタンスに登録できます。 アセンブリ ファイルは、アプリケーションによって定義された場所から読み込まれ、コピーがデータと共にサーバーに保存されます。 アセンブリ ファイルのコピーは、サービスが開始されるたびにアセンブリを読み込むのに使用されます。
詳細については、「 多次元モデル アセンブリ管理」を参照してください。
カスタム ストアド プロシージャ
Analysis Services データ マイニングでは、ストアド プロシージャを使用してデータ マイニング オブジェクトを操作できます。 独自のストアド プロシージャを作成して機能を拡張し、予測クエリやコンテンツ クエリによって返されるデータをより簡単に操作できます。
クロス検証の実行では、次のストアド プロシージャがサポートされています。
データ マイニング ストアド プロシージャ (Analysis Services - データ マイニング)
さらに、Analysis Services には、データ マイニングに内部的に使用される多くのシステム ストアド プロシージャが含まれています。 システム ストアド プロシージャは内部で使用できますが、便利なショートカットが見つかる場合があります。 Microsoft は、必要に応じてこれらのストアド プロシージャを変更する権利を留保します。そのため、運用環境で使用する場合は、DMX、AMO、または XMLA を使用してクエリを作成することをお勧めします。
カスタム プラグイン アルゴリズム
Analysis Services には、独自のアルゴリズムを作成し、そのアルゴリズムを新しいデータ マイニング サービスとしてサーバー インスタンスに追加するためのメカニズムが用意されています。
Analysis Services では、COM インターフェイスを使用してプラグイン アルゴリズムと通信します。 新しいアルゴリズムを実装する方法の詳細については、「 プラグイン アルゴリズム」を参照してください。
使用する前に、新しいアルゴリズムを登録する必要があります。 アルゴリズムを登録するには、Analysis Services のインスタンスの .ini ファイルにアルゴリズムに必要なメタデータを追加します。 新しいアルゴリズムを使用する予定の各インスタンスに情報を追加する必要があります。 アルゴリズムを追加したら、インスタンスを再起動し、MINING_SERVICES スキーマ行セットを使用して、アルゴリズムがサポートするオプションやプロバイダーなど、新しいアルゴリズムを表示できます。