Share via


シーケンス クラスター モデルでの予測の作成 (中級者向けデータ マイニング チュートリアル)

 

対象: SQL Server 2016 Preview

予測クエリ ビルダーを使用して予測クエリを作成するには、シーケンス クラスター モデルの向上をビューアーで参照することによりのかを理解したら、 マイニング モデル予測 データ マイニング デザイナーのタブをクリックします。 予測を作成するには、まずシーケンス クラスター モデルを選択し、次に入力データを選択します。 入力については、外部データ ソースを使用するか、単一クエリを作成してダイアログ ボックスで値を指定することができます。

このレッスンでは、予測クエリ ビルダーの使用方法について理解していることを前提に、シーケンス クラスター モデルに固有のクエリの作成方法について説明します。 予測クエリ ビルダーを使用する方法の詳細については、次を参照してください。 データ マイニング クエリ ツール または基本的なデータ マイニングのチュートリアルでは、セクション 予測の作成と #40 です。基本的なデータ マイニングのチュートリアルと #41;します。

地域モデルでの予測の作成

このシナリオでは、まずいくつかの単一予測クエリを作成し、予測が地域ごとにどのように異なるかについて確認します。

シーケンス クラスター モデルに対する単一クエリを作成するには

  1. クリックして、 マイニング モデル予測 データ マイニング デザイナーのタブをクリックします。

  2. マイニング モデルの 列メニュー 単一クエリします。

    マイニング モデルの ウィンドウと 単一クエリ入力 ウィンドウが表示されます。

  3. マイニング モデルの ] ウィンドウで、をクリックして モデルの選択します。 (既にシーケンス クラスター モデルが選択されている場合は、この手順を省略します)。

    マイニング モデルの選択 ] ダイアログ ボックスが表示されます。

  4. マイニング構造を表すノードを展開 Sequence Clustering with Region, 、モデルを選択して Sequence Clustering with Regionします。 **[OK]**をクリックします。 ここでは、入力ペインは無視します。入力は予測関数の設定後に指定します。

  5. グリッドで、下の空のセルをクリックして ソース 選択 予測関数です。 下のセルで フィールド, [ PredictSequenceします。

    注意


    使用することも、 Predict 関数です。 バージョンを選択することを確認するには、ある場合、 Predict 関数を引数としてテーブル列を受け取る.

  6. マイニング モデルの ] ウィンドウで、入れ子になったテーブルを選択して v Assoc Seq Line Items, に、グリッドにドラッグ、 条件と引数 のボックス、 PredictSequence 関数です。

ドラッグ アンド ドロップ テーブルおよび列名を使用すると、構文エラーを発生させずに複雑なステートメントを作成できます。 ただし、現在の他のオプションの引数を含むセルの内容を置き換えます、 **PredictSequence** 関数です。 その他の引数を表示するには、関数の 2 番目のインスタンスを参照用として一時的にグリッドに追加します。  
  1. クリックして、 結果 予測クエリ ビルダーの上隅でボタンをクリックします。

期待どおりの結果を含む 1 つの列見出しを含む します。 次のように列に 3 つの列を含む入れ子になったテーブルが含まれています。

$SEQUENCE Line Number [モデル]
1 Mountain-200

この結果からわかることは何でしょうか。 入力を指定していないことに注意してください。 予測はケースの母集団全体に対して作成され、Analysis Services からは最も可能性の高い全体的な予測が返されます。

単一予測クエリへの入力の追加

この時点では、まだ入力を指定していません。 次のタスクでは使用して、 単一クエリ入力 ペイン、クエリの入力を指定します。 まず、予測されたシーケンスがすべての地域で同じかどうかを判断するために、地域シーケンス クラスター モデルへの入力として [Region] を使用します。 次に、各予測の確率を追加するようにクエリを変更し、結果をフラット化して見やすくする方法について説明します。

特定の顧客グループの予測を生成するには
  1. クリックして、 デザイン クエリ作成グリッドに戻るに予測クエリ ビルダーの左上隅のボタンをクリックします。

  2. 単一クエリ入力 ダイアログ ボックスで、をクリックして、 のボックス 領域, を選択し、 ヨーロッパします。

  3. クリックして、 結果 ヨーロッパの顧客の予測を表示] ボタンをクリックします。

  4. クリックして、 デザイン クエリ作成グリッドに戻るに予測クエリ ビルダーの左上隅のボタンをクリックします。

  5. 単一クエリ入力 ダイアログ ボックスで、] をクリックして、 のボックス 地域, を選択し、 北米します。

  6. クリックして、 結果 北米の顧客の予測を表示] ボタンをクリックします。

カスタム式を使用した確率の追加

確率は予測の属性であり、入れ子になったテーブルとして出力されるので、各予測の確率を出力するのはやや複雑です。 データ マイニング拡張機能 (DMX) に慣れている場合は、入れ子になったテーブルに対する下位選択ステートメントを追加するようにクエリを簡単に変更できます。 また、予測クエリ ビルダーでカスタム式を追加して下位選択ステートメントを作成することもできます。

カスタム式を使用して予測されたシーケンスの確率を出力するには
  1. クリックして、 デザイン クエリ作成グリッドに戻るに予測クエリ ビルダーの左上隅のボタンをクリックします。

  2. グリッドで、[ ソース, を新しい行をクリックして カスタム式します。

  3. 下のテキスト ボックスのままにして フィールド 空白です。

  4. エイリアス, 、型 tします。

  5. 条件と引数 ボックスに、次のコード サンプルで示すように、完全な下位選択ステートメントを入力します。 必ず開始かっこと終了かっこも入力してください。

```  
(SELECT PredictProbability([Model]) FROM PredictSequence([Sequence Clustering with Region].[v Assoc Seq Line Items]))  
```  
  1. クリックして、 結果 ヨーロッパの顧客の予測を表示] ボタンをクリックします。

結果に、2 つの入れ子になったテーブルが含まれるようになります。一方のテーブルには予測、もう一方のテーブルには予測の確率が示されます。 クエリが機能しない場合は、クエリ デザイン ビューに切り替えて、次のようなクエリ ステートメント全体を確認できます。

SELECT  
  PredictSequence([Sequence Clustering with Region].[v Assoc Seq Line Items]),  
  ( (SELECT PredictProbability([Model]) FROM PredictSequence([Sequence Clustering with Region].[v Assoc Seq Line Items]))) as [t]  
FROM  
  [Sequence Clustering with Region]  
NATURAL PREDICTION JOIN  
(SELECT 'Europe' AS [Region]) AS t  

結果の操作

結果に多数の入れ子になったテーブルが含まれている場合は、結果をフラット化して見やすくすることができます。 これを行うには、手動でクエリを変更して、追加することができます、 FLATTENED キーワードです。

予測クエリで入れ子になった行セットをフラット化するには
  1. クリックして、 クエリ 予測クエリ ビルダーの隅にあるボタンをクリックします。

    グリッドが開いたペインに変わり、予測クエリ ビルダーで作成された DMX ステートメントを表示および変更できるようになります。

  2. 後に、 選択 キーワード、型 FLATTENEDします。

    クエリの完全なテキストは、次のようになります。

    SELECT FLATTENED  
      PredictSequence([Sequence Clustering with Region].[v Assoc Seq Line Items]),  
      ( (SELECT PredictProbability([Model]) FROM PredictSequence([Sequence Clustering with Region].[v Assoc Seq Line Items]))) as [t]  
    FROM  
      [Sequence Clustering with Region]  
    NATURAL PREDICTION JOIN  
    (SELECT 'Europe' AS [Region]) AS t  
    
  3. クリックして、 結果 予測クエリ ビルダーの上隅でボタンをクリックします。

クエリを手動で編集した後、デザイン ビューに戻ると変更は失われます。 ただし、手動で作成した DMX ステートメントをテキスト ファイルに保存してからデザイン ビューに戻ることはできます。 この場合、クエリはデザイン ビューで有効であった最後のバージョンに戻ります。

関連モデルでの予測の作成

ここまでの例では、モデルで地域間の違いが見られたかどうかを確認するために、ケース テーブル列 [地域] を単一予測クエリへの入力として使用しました。 ただし、モデルの調査後に、その違いは地域ごとに製品の提案をカスタマイズするほど顕著なものではないと判断しました。 実際に予測する必要があるのは顧客が選択するアイテムです。 したがって、次のクエリでは、地域を含まないシーケンス クラスター モデルを使用して、すべての顧客に対する提案を生成します。

入力としての入れ子になったテーブル列の使用

まず、単一のアイテムを入力として受け取り、次に選択される可能性が高いアイテムを返す単一予測クエリを作成します。 このような予測を得るには、入力値として入れ子になったテーブル列を使用する必要があります。 これは、予測する属性 "モデル" が入れ子になったテーブルの一部であるためです。 Analysis Services で、 入れ子になったテーブルの入力 ] ダイアログ ボックスで予測クエリを簡単に作成するためには、予測クエリ ビルダーを使用して、テーブルの属性を入れ子になった。

入れ子になったテーブルを予測への入力として使用するには
  1. クリックして、 デザイン クエリ作成グリッドに戻るに予測クエリ ビルダーの左上隅のボタンをクリックします。

  2. 単一クエリ入力 ダイアログ ボックスで、] をクリックして、 のボックス 地域, 、し、このフィールドの入力をオフにする空の行を選択します。

  3. 単一クエリ入力 ダイアログ ボックスで、をクリックして、 のボックス vAssocSeqLineItems, 、(...) ボタンをクリックします。

  4. 入れ子になったテーブルの入力 ] ダイアログ ボックスをクリックして 追加します。

  5. 新しい行で、下のボックスをクリックして モデル, 、し、一覧から Touring Tire を選択します。 **[OK]**をクリックします。

  6. クリックして、 結果 予測を表示] ボタンをクリックします。

最初のアイテムとして Touring Tire を選択したすべての顧客に、次のアイテムとして以下のものがモデルによって提案されます。 モデルの調査によって、顧客が Touring Tire 製品と Touring Tire Tube 製品を一緒に購入することが多いとわかっているので、この提案は適切です。

$SEQUENCE Line Number [モデル]
1 Touring Tire Tube
2 Sport-100
3 Long-Sleeve Logo Jersey

入れ子になったテーブルの入力を使用する一括予測クエリの作成

提案に使用できる予測がモデルによって作成されることを確認したので、次は外部データ ソースにマップされる予測クエリを作成します。 そのデータ ソースは、現在の製品を表す値を提供します。 顧客 ID と製品一覧を入力として提供する予測クエリを作成することが目的であるため、ケース テーブルとして顧客テーブルを、入れ子になったテーブルとして購入記録テーブルをそれぞれ追加します。 その後、提案を作成したときと同様に予測関数を追加します。

この手順は、レッスン 3 でマーケット バスケット シナリオ用の予測を作成したときと同じ手順です。ただし、シーケンス クラスター モデルの予測では、入力として注文も必要になります。

入れ子になったテーブルの入力を使用する予測クエリを作成するには
  1. マイニング モデルの ウィンドウで、選択されていない場合のシーケンス クラスター モデルを選択します。

  2. 入力テーブルの選択 ] ダイアログ ボックスをクリックして [ケース テーブルのです。

  3. テーブルの選択 ダイアログ ボックスで、データ ソースの注文を選択します。 テーブル/ビュー名 ボックスの一覧を vAssocSeqOrders] を選択してクリックして OKします。

  4. 入力テーブルの選択 ダイアログ ボックスで、をクリックして 入れ子になったテーブルの選択します。

  5. テーブルの選択 ] ダイアログ ボックスの データ ソース, 、注文を選択します。 テーブル/ビュー名 ボックスの一覧を vAssocSeqLineItems] を選択してクリックして OKします。

Analysis Services でリレーションシップの検出が試行され、データ型が一致して列名が類似している場合は、リレーションシップが自動的に作成されます。 作成されたリレーションシップが正しくない場合は、結合線を右クリックし、選択 **接続の変更** 列の編集をマッピングかできる結合線を右クリックを選択 **削除** リレーションシップを完全に削除します。 この場合、テーブルがデータ ソース ビューで既に結合されているため、これらのリレーションシップはデザイン ペインに自動的に追加されます。  
  1. グリッドに新しい行を追加します。 ソース, 、vAssocSeqOrders、] を選択および フィールド, 、CustomerKey] を選択します。

  2. グリッドに新しい行を追加します。 ソース, を選択 予測関数, 、および フィールド, [ PredictSequenceします。

  3. VAssocSeqLineItems、ドラッグ、 条件と引数 ボックス。 末尾をクリックして、 条件と引数 ボックスし、次の引数を入力: 2します。

    完全なテキスト、 条件と引数 ボックス必要があります。 [Sequence Clustering].[v Assoc Seq Line Items],2

  4. クリックして、 結果 を顧客ごとの予測を表示するボタンをクリックします。

これで、シーケンス クラスター モデルのチュートリアルは完了です。

次の手順

すべてのセクションを完了した場合、 中級者向けデータ マイニングのチュートリアルと #40 です。Analysis Services - データ マイニング ), 、データ マイニング拡張機能 (DMX) ステートメントを使用してモデルを構築し、予測を生成する方法を学習する場合、次の手順があります。 詳細については、次を参照してください。 の作成とクエリを実行するデータ マイニング モデルと DMX: チュートリアルと #40 です。Analysis Services - データ マイニング )します。

プログラミングの概念について理解している場合は、分析管理オブジェクト (AMO) を使用してデータ マイニング オブジェクトをプログラムで操作することもできます。 詳細については、「AMO データ マイニング クラス」を参照してください。

参照

シーケンス クラスター モデルのクエリの例
シーケンス クラスター モデルのマイニング モデル コンテンツ (Analysis Services - データ マイニング)