マイニング モデル (Analysis Services - データ マイニング)
マイニング モデルは、データにアルゴリズムを適用することによって作成されますが、単なるアルゴリズムまたはメタデータ コンテナーではなく、予測を生成し、リレーションシップを推定するために新しいデータに適用されるデータ、統計情報、およびパターンのセットです。
ここでは、データ マイニング モデルおよびその使用方法 (モデルおよび構造の基本的なアーキテクチャ、マイニング モデルのプロパティ、およびマイニング モデルの作成方法と操作方法) について説明します。
マイニング モデルのアーキテクチャ
マイニング モデルの定義
マイニング モデルのプロパティ
マイニング モデル列
マイニング モデルの処理
マイニング モデルの表示とクエリ
マイニング モデルのアーキテクチャ
データ マイニング モデルは、マイニング構造からデータを取得し、データ マイニング アルゴリズムを使用してそのデータを分析します。 マイニング構造とマイニング モデルは別個のオブジェクトです。 マイニング構造には、データ ソースを定義する情報が格納されます。 マイニング モデルには、分析の結果として検出されたパターンなど、データの統計的な処理から導き出された情報が格納されます。
マイニング モデルは、マイニング構造から提供されたデータの処理と分析が完了するまでは空の状態です。 処理後のマイニング モデルには、メタデータ、結果、およびマイニング構造へのバインドが含まれています。
メタデータは、モデルの名前、モデルが格納されているサーバー、モデルの定義 (モデルの構築に使用されたマイニング構造の列、モデルの処理時に適用されたフィルターの定義、データの分析に使用されたアルゴリズムなど) を示します。 データ列およびそのデータ型、フィルター、およびアルゴリズムの選択は分析結果に多大な影響を及ぼします。
たとえば、同じデータを使用して複数のモデルを作成するために、クラスタリング アルゴリズム、デシジョン ツリー アルゴリズム、および Naïve Bayes アルゴリズムを使用できます。 予測の作成に使用できるパターン、アイテムセット、ルール、または式のセットは、モデルの種類ごとに異なります。 通常、各アルゴリズムではデータをさまざまな方法で分析するため、結果のモデルのコンテンツもさまざまな構造で構成されます。 あるモデルの種類では、データとパターンがクラスターにグループ化され、別のモデルの種類のデータは、データを分割して定義するツリー、分岐、およびルールで構成されます。
また、モデルはトレーニングを行う際のデータの影響も受けます。同じマイニング構造でトレーニングを行ったモデルでも、データのフィルター処理の方法が異なったり、分析時に異なるシードを使用すると、異なる結果が生成される場合があります。 ただし、実際のデータはモデルには格納されません。概要の統計のみが格納され、実際のデータはマイニング構造に存在します。 モデルのトレーニングを行ったときのデータに基づいてフィルターを作成した場合、フィルターの定義もモデル オブジェクトと一緒に保存されます。
モデルには、マイニング構造にキャッシュされているデータを指すバインドのセットが含まれます。 データが構造内にキャッシュされ、処理後に消去されていない場合、このバインドによって結果から結果を裏付けるケースへのドリルスルーが可能になります。 ただし、実際のデータはモデル内ではなく、構造キャッシュに格納されています。
[先頭に戻る]
データ マイニング モデルの定義
通常、データ マイニング モデルは次の手順で作成します。
基になるマイニング構造を作成し、必要になる可能性があるデータの列を含めます。
分析タスクに最適なアルゴリズムを選択します。
構造からモデルで使用する列を選択し、予測する結果を含んでいる列や入力専用の列など、列の使用方法を指定します。
必要に応じて、アルゴリズムによる処理を微調整するパラメーターを設定します。
構造およびモデルを処理してモデルにデータを入力します。
Analysis Services には、マイニング モデルの管理に役立つ以下のツールが用意されています。
データ マイニング ウィザードは、マイニング構造および関連マイニング モデルの作成に役立ちます。 これは最も使いやすい方法です。 このウィザードを使用すると、必要なマイニング構造が自動的に作成され、重要な設定を構成しやすくなります。
DMX CREATE MODEL ステートメントは、モデルを定義するために使用できます。 必要な構造は処理の一環として自動的に作成されるため、この方法では既存の構造を再利用することはできません。 この方法は、作成するモデルを既に正確に把握している場合またはモデルのスクリプトを作成する場合に使用します。
DMX ALTER STRUCTURE ADD MODEL ステートメントは、既存の構造に新しいマイニング モデルを追加するために使用できます。 この方法は、同じデータセットに基づくさまざまなモデルをテストする場合に使用します。
AMO や XML/A を使用するか、または Excel 用データ マイニング クライアントなどの他のクライアントを使用することによって、プログラムでマイニング モデルを作成することもできます。 詳細については、次の各トピックを参照してください。
[先頭に戻る]
マイニング モデルのプロパティ
それぞれのマイニング モデルには、モデルとそのメタデータを定義するプロパティがあります。 プロパティには、名前、説明、モデルが最後に処理された日付、モデルに対する権限、トレーニングに使用されるデータに対するフィルターなどが含まれます。
各マイニング モデルには、マイニング構造から派生するプロパティや、モデルに使用するデータ列を記述するプロパティもあります。 入れ子になったテーブルの列をモデルで使用する場合は、その列に適用される別個のフィルターが存在することもあります。
さらに、それぞれのマイニング モデルには、Algorithm と Usage という 2 つの特殊なプロパティが含まれます。
**Algorithm プロパティ **モデルの作成に使用するアルゴリズムを指定します。 使用できるアルゴリズムは、使用しているプロバイダーによって異なります。 SQL Server Analysis Services に含まれているアルゴリズムの一覧については、「データ マイニング アルゴリズム (Analysis Services - データ マイニング)」を参照してください。Algorithm プロパティはマイニング モデルに適用され、各モデルに対して 1 回だけ設定できます。 後でアルゴリズムを変更できますが、選択したアルゴリズムによってサポートされていないために、マイニング モデルの列が無効になる場合があります。 このプロパティを変更した後は、モデルを再処理する必要があります。
**Usage プロパティ **モデルによる各列の使用方法を定義します。 列の使用法は、Input、Predict、Predict Only、Key のいずれかに定義できます。 Usage プロパティは、マイニング モデルの個別の列に適用し、モデルに含まれるすべての列に個別に設定する必要があります。 モデルで使用しない列が構造に含まれる場合は、使用法を Ignore に設定します。 顧客名や電子メール アドレスなどは、マイニング構造に含まれていても分析には使用されないデータの例です。 このように、後でクエリを実行する場合、分析フェーズで列を含める必要はありません。
マイニング モデルのプロパティの値は、マイニング モデルの作成後に変更できます。 ただし、たとえマイニング モデルの名前の変更であっても、なんらかの変更を加えた場合はマイニング モデルの再処理が必要になります。 モデルを再処理すると、結果が変化する場合があります。
[先頭に戻る]
マイニング モデル列
マイニング モデルには、マイニング構造で定義された列から取得されたデータの列が含まれています。 マイニング構造からモデルで使用する列を選択し、マイニング構造列のコピーを作成して、その名前や使用法を変更することもできます。 また、モデル構築プロセスでモデルごとに列の使用法を定義する必要があります。 このとき、列がキーかどうか、列を予測に使用するかどうか、アルゴリズムで列を無視するかどうかなどの情報を定義します。
モデルを構築する場合、使用可能なデータのすべての列を自動的に追加するのではなく、構造内のデータを十分に確認し、分析に必要な列のみをモデルに含めることをお勧めします。 たとえば、同じデータを繰り返す複数の列を含めたり、ほとんどの値が一意の列を使用したりすることは避けます。 使用しない列がある場合、その列をマイニング構造またはマイニング モデルから削除する必要はなく、モデルの構築時に無視することを示すフラグを列に設定するだけで済みます。 つまり、列は、マイニング構造に存在していますが、マイニング モデルには使用されません。 モデルからマイニング構造へのドリルスルーが有効な場合、列の情報を後から取得できます。
選択するアルゴリズムによっては、マイニング構造内の一部の列が特定の種類のモデルと互換性を持たない場合や、有効な結果が得られない場合があります。 たとえば、データに Income 列のような連続する数値データが含まれていてモデルに不連続値が必要な場合、データを不連続な範囲に変換するか、モデルから削除する必要があります。 アルゴリズムによってはデータが自動的に変換または削除される場合もありますが、予想した結果が得られるとは限りません。 列の追加のコピーを作成し、別のモデルを試すことを検討してください。 また、特別な処理が必要であることを示すフラグを個々の列に設定することもできます。 たとえば、null が含まれているデータの場合、モデリング フラグを使用して処理を制御できます。 特定の列をモデルのリグレッサーとして指定する場合は、モデリング フラグを使用することで指定できます。
モデルを作成した後で、列の追加や削除、モデル名の変更などの変更を加えることができます。 ただし、たとえモデル メタデータのみの変更であっても、なんらかの変更を加えた場合はモデルの再処理が必要になります。
[先頭に戻る]
マイニング モデルの処理
データ マイニング モデルは、処理されるまでは空のオブジェクトです。 モデルを処理するとき、構造にキャッシュされたデータは、モデルにフィルターが定義されていればフィルターを通して渡され、アルゴリズムによって分析されます。 アルゴリズムは、データを説明する一連の概要の統計を計算し、データ内のルールとパターンを識別し、これらのルールとパターンを使用してモデルを作成します。
処理後のマイニング モデルには、統計、ルール、回帰式など、分析によって検出されたデータおよびパターンに関する豊富な情報が含まれています。 カスタム ビューアーを使用してこの情報を参照したり、データ マイニング クエリを作成してこの情報を取得し、分析および表示に使用できます。
[先頭に戻る]
マイニング モデルの表示とクエリ
モデルの処理が完了したら、SQL Server データ ツール (SSDT) および SQL Server Management Studio で提供されているカスタム ビューアーを使用してモデルを調べることができます。
予測を行う場合や、モデル メタデータまたはモデルによって作成されるパターンを取得する場合に、マイニング モデルに対するクエリを作成することもできます。 クエリの作成には、データ マイニング拡張機能 (DMX) を使用します。
関連コンテンツ
トピック |
リンク |
---|---|
複数のマイニング モデルをサポートするマイニング構造の構築方法について説明します。 モデルにおける列の使用法についても説明します。 |
|
さまざまなアルゴリズム、およびアルゴリズムの選択がモデル コンテンツに与える影響について説明します。 |
|
モデルのコンポジションと動作に影響を与えるプロパティの設定方法について説明します。 |
|
データ マイニングのプログラミング可能なインターフェイスについて説明します。 |
|
Analysis Services でのカスタム データ マイニング ビューアーの使用方法について説明します。 |
|
データ マイニング モデルに対して使用できるさまざまな種類のクエリの例について説明します。 |
関連タスク
データ マイニング モデルの操作方法の詳細については、次のリンクを参照してください。
タスク |
リンク |
---|---|
マイニング モデルを追加および削除する |
|
マイニング モデルの列を操作する |
|
モデルのプロパティを変更する |
|
モデルをコピー、 移動、または管理する |
|
モデルにデータを入力する、またはモデルのデータを更新する |
|
OLAP モデルを操作する |