OLAP キューブまたはその他の多次元データ ストアに基づいてデータ マイニング モデルを作成することには、多くの利点があります。 OLAP ソリューションには、十分に整理され、クリーンアップされ、適切に書式設定された膨大な量のデータが既に含まれています。ただし、データの複雑さは、ユーザーがアドホック探索によって意味のあるパターンを見つける可能性が低いということです。 データ マイニングは、新しい相関関係を検出し、実用的な分析情報を提供する機能を提供します。
このトピックでは、既存の多次元ソリューションのディメンションと関連するメジャーに基づいて OLAP マイニング構造を作成する方法について説明します。
OLAP ソリューションでデータ マイニングを使用するシナリオ
OLAP マイニング構造とモデルの要件
OLAP マイニング モデルを設計する場合は、キューブの構築に使用されたデータベースにデータ ソースが既に存在します。 リモート キューブに接続してデータ マイニング オブジェクトを作成することはできません。キューブ オブジェクトは、構築するマイニング構造と同じソリューション内で使用できる必要があります。
元のプロジェクト ファイルがない場合、または変更しない場合は、Visual Studio の [ サーバーからのインポート (多次元またはデータ マイニング)]オプションを使用して、メタデータとソリューション オブジェクトのコピーを取得できます。 その後、配置ターゲットを変更したり、データ ソースを編集したり、既存のオブジェクトに影響を与えずにキューブ オブジェクトを操作したりできます。
詳細については、「 Analysis Services インポート ウィザードを使用してデータ マイニング プロジェクトをインポートする」を参照してください。
OLAP データ マイニング プロセスの概要
ソリューション エクスプローラーで [マイニング構造] ノードを右クリックし、[新しいマイニング構造] を選択して、データ マイニング ウィザードを開始します。 ウィザードでは、次の手順に従って、新しい構造とモデルの構造を作成します。
[定義方法] を選択します。ここでは、データ ソースの種類を選択し、[ 既存のキューブから] を選択します。
注
ソースとして使用する OLAP キューブは、前述のように、マイニング構造と同じデータベース内に存在する必要があります。 また、PowerPivot for Excel アドインによって作成されたキューブをデータ マイニングのソースとして使用することはできません。
データ マイニング構造の作成: 構造のみを構築するか、マイニング モデルを使用して構造を構築するかを決定します。
また、データを分析するための適切なアルゴリズムを選択する必要もあります。 特定のタスクに最適なアルゴリズムのガイダンスについては、HYPERLINK "ms-help://SQL111033/as_1devconc/html/ed1fc83b-b98c-437e-bf53-4ff001b92d64.htm" データ マイニング アルゴリズム (Analysis Services - データ マイニング) を参照してください。
ソース キューブ ディメンションの選択: この手順は、データ ソースの選択と同じです。 モデルのトレーニングに使用する最も重要なデータを含む 1 つのディメンションを選択する必要があります。 後で他のディメンションのデータを追加したり、ディメンションをフィルター処理したりできます。
ケース キーを選択します。選択したディメンション内で、ケース データの一意識別子として機能する属性 (列) を選択します。
通常、列は事前に選択されますが、実際に複数のキーがある場合は列を変更できます。
ケース レベル列の選択: ここでは、選択したディメンションと、分析に関連する関連メジャーから属性を選択します。 この手順は、テーブルから列を選択することと同じです。
ウィザードは、選択したディメンションの属性を使用して作成されたすべてのメジャーをレビューや選択のために自動的に含んでいます。
たとえば、キューブに顧客の地理的な場所に基づいて輸送コストを計算するメジャーが含まれており、モデリングのメイン データ ソースとして Customer ディメンションを選択した場合、メジャーはモデルに追加するための候補として提案されます。 すでに属性に直接基づくメジャーを追加しすぎないように警戒してください。メジャー数式で定義された列間にはすでに1つの暗黙のリレーションシップがあり、この(予想される)相関の強さにより、他に発見する可能性があるリレーションシップが隠れてしまうことがあります。
マイニング モデル列の使用法の指定: 構造に追加した属性またはメジャーごとに、属性を予測に使用するか、入力として使用するかを指定する必要があります。 これらのオプションのいずれかを選択しない場合、データは処理されますが、分析には使用されません。ただし、後でドリルスルーを有効にした場合は、バックグラウンド データとして使用できます。
入れ子になったテーブルを追加する: クリックして関連テーブルを追加します。 [ メジャー グループ ディメンションの選択 ] ダイアログ ボックスでは、現在のディメンションに関連するディメンションの中から 1 つのディメンションを選択できます。
次に、[ 入れ子になったテーブル キーの選択 ] ダイアログ ボックスを使用して、ケース データを含むディメンションに新しいディメンションを関連付ける方法を定義します。
[ 入れ子になったテーブル列の選択 ] ダイアログ ボックスを使用して、分析に使用する新しいディメンションから属性とメジャーを選択します。 また、入れ子になった属性を予測に使用するかどうかを指定する必要があります。
必要になる可能性がある入れ子になった属性をすべて追加したら、ページに戻り、[ マイニング モデル列の使用法の指定] をクリックし、[ 次へ] をクリックします。
列のコンテンツとデータ型の指定: この時点で、分析に使用されるすべてのデータが追加され、各属性の データ型 と コンテンツ タイプ を指定する必要があります。
OLAP モデルでは、データ型は既に多次元ソリューションによって定義されており、変更できないため、データ型を自動的に検出するオプションはありません。 キーも自動的に識別されます。 詳細については、「 データ型 (データ マイニング)」を参照してください。
モデルで使用する列ごとに選択する コンテンツ タイプ によって、データの処理方法がアルゴリズムに指示されます。 詳細については、「 コンテンツ タイプ (データ マイニング)」を参照してください。
ソース キューブのスライス: ここでは、キューブにフィルターを定義して、データのサブセットのみを選択し、より対象の絞り込まれたモデルをトレーニングできます。
キューブをフィルター処理するには、フィルターを適用するディメンションを選択し、使用する条件を含む階層のレベルを選択してから、フィルターとして使用する条件を入力します。
テスト セットの作成: このページでは、モデルのテストに使用するために確保する必要があるデータの量をウィザードに通知できます。 データが複数のモデルをサポートする場合は、すべてのモデルを同じデータでテストできるように、保留データ セットを作成することをお勧めします。
詳細については、「 テストと検証 (データ マイニング)」を参照してください。
ウィザードの完了: このページでは、新しいマイニング構造と関連するマイニング モデルに名前を付け、構造とモデルを保存します。
このページでは、次のオプションを設定することもできます。
ドリルスルーを許可する
マイニング モデル ディメンションを作成する
[マイニング モデル ディメンションを使用してキューブを作成する]
これらのオプションの詳細については、このトピックの「 データ マイニング ディメンションとドリルスルーについて」のセクションを参照してください。
この時点で、マイニング構造とそのモデルは単なるメタデータです。結果を取得するには、両方を処理する必要があります。
OLAP データでデータ マイニングを使用するシナリオ
OLAP キューブには多くのメンバーとディメンションが含まれていることが多いため、データ マイニングを開始する場所を把握するのが難しい場合があります。 キューブに含まれるパターンを特定するには、通常、関心のある 1 つのディメンションを特定し、そのディメンションに関連するパターンの探索を開始します。 次の表に、いくつかの一般的な OLAP データ マイニング タスクの一覧を示し、各タスクを適用する可能性があるサンプル シナリオについて説明し、各タスクに使用するデータ マイニング アルゴリズムを示します。
課題 | サンプル シナリオ | アルゴリズム |
---|---|---|
メンバーをクラスターにグループ化する | 顧客メンバーのプロパティ、顧客が購入する製品、顧客が費やす金額に基づいて顧客ディメンションをセグメント化します。 | Microsoft クラスタリング アルゴリズム |
興味深いメンバーまたは異常なメンバーを検索する | 売上、利益、店舗の場所、店舗サイズに基づいて、店舗ディメンション内の興味深い店舗または異常な店舗を特定します。 | Microsoft デシジョン ツリー アルゴリズム |
興味のあるセルまたは異常なセルを検索する | 時間の経過に伴う一般的な傾向に反する店舗の売上を特定します。 | Microsoft タイム シリーズ アルゴリズム |
相関関係の検索 | リージョン、マシンの種類、OS、購入日など、サーバーのダウンタイムに関連する要因を特定します。 | Microsoft Naïve Bayes アルゴリズム |
キューブのスライスとモデルのフィルター処理
モデルの構築中にキューブをスライスすることは、リレーショナル マイニング モデルに対するフィルターの作成に似ています。 リレーショナル モデルでは、データ ソースのフィルターは SQL ステートメントの WHERE 句として定義されます。キューブでは、エディターを使用して MDX を使用してフィルター ステートメントを作成します。
たとえば、キューブには世界中の製品の購入に関する情報が含まれている場合がありますが、マーケティング キャンペーンでは、英国に住む 30 歳以上の女性顧客の分析に基づいてモデルを作成する必要があります。
このシナリオでは、次の 2 つのフィルターを作成します。
最初のフィルターでは、Geography ディメンションを選択し、Region の階層を選択してから、 フィルター式 の一覧を使用して、使用可能な値から "United Kingdom" を選択します。
2 番目のフィルターでは、Customer ディメンションを選択し、Gender 属性を選択し、属性値の一覧から "Female" を選択します。
マイニング構造が作成されたら、キューブ データの定義とフィルター条件の両方を変更できます。 詳細については、「 マイニング構造のソース キューブのフィルター処理」を参照してください。
[ マイニング構造 ] タブと [ マイニング モデル ] タブの両方で、[ キューブ スライスの定義] をクリックして、既存のマイニング構造にフィルターを追加するオプションを提供します。 [ スライス キューブ ] ダイアログ ボックスを使用すると、ドロップダウン リストから値を選択することで、有効な MDX フィルター式を作成できます。
警告
キューブを設計および参照するためのインターフェイスが SQL Server 2014 で変更されていることに注意してください。 詳細については、「 キューブでのデータとメタデータの参照」を参照してください。
マイニング モデルに必要なデータを返すために必要な数のフィルターをキューブに追加できます。 個々のキューブ スライスにスライスを定義することもできます。 たとえば、構造体に製品に基づく 2 つの入れ子になったテーブルが含まれている場合は、2004 年 3 月に 1 つのテーブルをスライスし、もう 1 つのテーブルを 2004 年 4 月にスライスできます。 その後、結果のモデルを使用して、3 月に行われた購入に基づいて 4 月に行われた購入を予測できます。
OLAP マイニング モデルでの入れ子になったテーブルの使用
データ マイニング ウィザードを使用してキューブ データに基づいてモデルを構築する場合は、関連するディメンションの名前を指定し、モデルに追加する属性またはメジャーを選択することで、入れ子になったテーブルを追加できます。
たとえば、ケース データに使用されるメイン ディメンションが Customer の場合、関連ディメンションとして Products ディメンションを追加できます。これは、顧客が時間の経過と同時に複数の製品を注文した可能性があり、キューブは注文ファクト テーブルを介して各顧客を多くの製品に既にリンクしているためです。
入れ子になったテーブルを追加するには、ウィザードの [ マイニング モデル列の使用法の指定 ] ページで [ 入れ子になったテーブルの追加] をクリックします。 ダイアログ ボックスが開き、関連するディメンションとメジャーを選択するプロセスが示されます。 ケースとネストされたディメンションは外部キーで関連付けられている必要があり、測定基準ではケースまたはネストされたテーブルに既に含まれている属性のいずれかを使用する必要があります。 残念ながら、これらの制限はスコープを絞り込むためにはあまり役に立たないため、モデリングに役立つ属性のみを選択するように注意する必要があります。
入れ子になったテーブルに追加する属性またはメジャーごとに、[入れ子になったテーブル列の選択] ダイアログ ボックスで [ 予測可能 ] または [ 入力 ] を選択して、 入れ子になった 属性を予測に使用するかどうかを指定する必要があります。 これらのオプションのいずれかを選択しない場合、データはマイニング構造に追加されますが、分析には使用されません。
属性とメジャーごとに、属性が不連続、分離、連続のいずれであるかを指定する必要もあります。 ウィザードでは、属性のデータ型に基づいて既定値が事前に選択されますが、アルゴリズムの要件によっては、これらを変更する必要がある場合があります。 選択したアルゴリズムと互換性のないコンテンツ タイプを選択した場合 (たとえば、Naïve Bayes モデルで連続する数値型を使用する場合)、モデルを処理するまでエラー メッセージは表示されません。
これらのオプションの設定が完了すると、ウィザードによってケース テーブルに入れ子になったテーブルが追加されます。 入れ子になったテーブルの既定の名前は入れ子になったディメンション名ですが、入れ子になったテーブルとその列の名前を変更できます。 このプロセスを繰り返して、複数の入れ子になったテーブルをマイニング構造に追加できます。
このような入れ子になったテーブル データを使用する機能は、特に強力な SQL Server データ マイニングの機能であり、キューブでは、関連するデータのサブセットを使用する可能性はほとんどありません。
データマイニングのディメンションとドリルスルーを理解することについて
[ ドリルスルーを許可] オプションを使用すると、モデルの参照中に基になるキューブ データに対してクエリを実行できます。 データは新しいデータ マイニング ディメンションに含まれていませんが、Analysis Services データベースはデータ バインディングを使用してソース キューブから情報を取得できます。
[ マイニング モデル ディメンションの作成] オプションを使用すると、アルゴリズムによって検出されたパターンを含む新しいディメンションを既存のキューブ内に生成できます。 新しいディメンション内の階層は、モデルの種類によって大きく決まります。 たとえば、クラスタリング モデルの表現は非常にフラットで、(All) ノードは階層の一番上に、各クラスターは次のレベルに配置されます。 これに対し、デシジョン ツリー モデル用に作成されるディメンションは、ツリーの分岐を表す非常に深い階層を持つ場合があります。
[ マイニング モデル ディメンションを使用してキューブを作成する] オプションを使用すると、新しいデータ マイニング ディメンションを新しいキューブにエクスポートできます。 データ マイニング ディメンションのドリルスルーに必要なすべてのオブジェクトが自動的に含まれます。
警告
データ マイニング ディメンションの作成をサポートするのは、Microsoft クラスタリング アルゴリズム、Microsoft デシジョン ツリー アルゴリズム、または Microsoft アソシエーション アルゴリズムに基づくモデルです。
こちらもご覧ください
データ マイニング アルゴリズム (Analysis Services - データ マイニング)
マイニング構造列
マイニングモデルの列
マイニング モデルのプロパティ
マイニング構造および構造列のプロパティ