次の方法で共有


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

ビューアーで参照することでシーケンス クラスタリング モデルの理解を深めてから、データ マイニング デザイナーの [ マイニング モデル 予測] タブで予測クエリ ビルダーを使用して予測クエリを作成できます。 予測を作成するには、まずシーケンス クラスタリング モデルを選択してから、入力データを選択します。 入力の場合は、外部データ ソースを使用することも、シングルトン クエリを作成してダイアログ ボックスに値を指定することもできます。

このレッスンでは、予測クエリ ビルダーの使用方法を既に理解しており、シーケンス クラスタリング モデルに固有のクエリを作成する方法を学習することを前提としています。 予測クエリ ビルダーの使用方法に関する一般的な情報については、「 データ マイニング クエリ インターフェイス 」または「基本的なデータ マイニング」チュートリアル「 予測の作成 (基本的なデータ マイニング チュートリアル)」のセクションを参照してください。

リージョン モデルでの予測の作成

このシナリオでは、最初にいくつかのシングルトン予測クエリを作成して、予測がリージョンによってどのように異なるかを把握します。

シーケンス クラスタリング モデルに対してシングルトン クエリを作成するには

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

  2. [ マイニング モデル ] 列メニューで、[ シングルトン クエリ] を選択します。

    [ マイニング モデル ] ウィンドウと [シングルトン クエリ入力 ] ウィンドウが表示されます。

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

    [ マイニング モデルの選択 ] ダイアログ ボックスが開きます。

  4. マイニング構造を表すノードを展開 します。[リージョンを使用したシーケンス クラスタリング] を選択し、Region を使用したモデル シーケンス クラスタリングを選択します。 OK をクリックします。 ここでは、入力ウィンドウを無視します。予測関数を設定した後、入力を指定します。

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

    Predict 関数を使用することもできます。 その場合は、テーブル列を引数として受け取る Predict 関数のバージョンを必ず選択してください。

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

    テーブル名と列名をドラッグ アンド ドロップすると、構文エラーなしで複雑なステートメントを作成できます。 ただし、 PredictSequence 関数の他の省略可能な引数を含む、セルの現在の内容を置き換えます。 他の引数を表示するには、関数の 2 番目のインスタンスを参照用のグリッドに一時的に追加します。

  7. 予測クエリ ビルダーの右上隅にある [ 結果 ] ボタンをクリックします。

予想される結果には、 という見出しを持つ 1 つの列が含まれます。 列には、次の 3 つの列を含む入れ子になったテーブルが含まれています。

$SEQUENCE 行番号 モデル
1 Mountain-200

これらの結果はどういう意味ですか? 入力を指定しなかったことに注意してください。 そのため、予測はケースの母集団全体に対して行われ、Analysis Services は最も可能性の高い予測全体を返します。

シングルトン予測クエリへの入力の追加

これまでは、入力を指定していません。 次のタスクでは、[ Singleton Query Input]\(シングルトン クエリ入力 \) ペインを使用して、クエリへの入力をいくつか指定します。 まず、[Region] をリージョン シーケンス クラスタリング モデルへの入力として使用して、予測されたシーケンスがすべてのリージョンで同じかどうかを判断します。 次に、各予測の確率を追加するようにクエリを変更し、結果をフラット化して表示しやすくする方法について説明します。

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

  2. [シングルトン クエリ入力] ダイアログ ボックスで、Region[値] ボックスをクリックし、[ヨーロッパ] を選択します。

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

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

  5. [シングルトン クエリ入力] ダイアログ ボックスで、Region[値] ボックスをクリックし、[北米] を選択します。

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

カスタム式を使用して確率を加算する

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

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

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

  3. [フィールド] の下のボックスは空白のままにします。

  4. [ エイリアス] に「 t」と入力します。

  5. 次のコード サンプルに示すように、[ 抽出条件/引数 ] ボックスに、完全なサブ select ステートメントを入力します。 開始かっこと終了かっこを必ず含めます。

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

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

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. SELECT キーワードの後に、「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 ステートメントをテキスト ファイルに保存し、デザイン ビューに戻すことができます。 この操作を行うと、クエリはデザイン ビューで有効だった最後のバージョンに戻ります。

前の例では、モデルがリージョン間の違いを見つけたかどうかを知ることに関心があったため、シングルトン予測クエリへの入力としてケース テーブル列 Region を使用しました。 ただし、モデルを調査した後、リージョン別の製品の推奨事項のカスタマイズを正当化するのに十分な違いが強くないと判断しました。 予測に本当に関心があるのは、顧客が選択する項目です。 そのため、次のクエリでは、リージョンを含まないシーケンス クラスタリング モデルを使用して、すべての顧客に対する推奨事項を生成します。

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

まず、1 つの項目を入力として受け取り、次に最も可能性の高い項目を返すシングルトン予測クエリを作成します。 この種類の予測を取得するには、入れ子になったテーブル列を入力値として使用する必要があります。 これは、予測する属性 Model が入れ子になったテーブルの一部であるためです。 Analysis Services には、[ 入れ子になったテーブル入力 ] ダイアログ ボックスが用意されており、予測クエリ ビルダーを使用して、入れ子になったテーブル属性に対して予測クエリを簡単に作成できます。

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

  2. [シングルトン クエリ入力] ダイアログ ボックスで、Region[値] ボックスをクリックし、空の行を選択してこのフィールドの入力をクリアします。

  3. [シングルトン クエリ入力] ダイアログ ボックスで、vAssocSeqLineItems[値] ボックスをクリックし、[(...)] ボタンをクリックします。

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

  5. 新しい行で、[ Model] の下のボックスをクリックし、一覧から [ツーリング タイヤ] を選択します。 OK をクリックします。

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

このモデルでは、最初のアイテムとして[ツーリングタイヤ]を選択したすべてのお客様に対して、次の項目を推奨します。 あなたは、モデルを探索して、顧客が頻繁にツーリングタイヤとツーリングタイヤチューブを一緒に購入することを知っているので、これらの推奨事項は良さそうです。

$SEQUENCE 行番号 モデル
1 ツーリング用タイヤチューブ
2 Sport-100
3 Long-Sleeve ロゴ ジャージー

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

これで、推奨事項の作成に使用できる予測の種類がモデルによって作成されることに満足しました。次に、外部データ ソースにマップされる予測クエリを作成します。 そのデータ ソースは、現在の製品を表す値を提供します。 顧客 ID と製品の一覧を入力として提供する予測クエリを作成することに関心があるため、顧客テーブルをケース テーブルとして追加し、購入テーブルを入れ子になったテーブルとして追加します。 次に、前に推奨事項を作成したとおりに予測関数を追加します。

これは、レッスン 3 でマーケット バスケット シナリオの予測を作成する場合と同じ手順です。ただし、シーケンス クラスタリング モデルの予測では、入力としての順序も必要です。

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

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

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

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

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

    Analysis Services は、データ型が一致し、列名が似ている場合に、リレーションシップを検出して自動的に作成しようとします。 作成したリレーションシップが間違っている場合は、結合線を右クリックして [接続の変更 ] を選択して列マッピングを編集するか、結合行を右クリックして [削除 ] を選択してリレーションシップを完全に削除できます。 この場合、テーブルは既にデータ ソース ビューに結合されているため、これらのリレーションシップはデザイン ウィンドウに自動的に追加されます。

  6. グリッドに新しい行を追加します。 [ソース] で [vAssocSeqOrders] を選択し、[フィールド] で CustomerKey を選択します。

  7. グリッドに新しい行を追加します。 [ソース] で [予測関数] を選択し、[フィールド]PredictSequence を選択します。

  8. vAssocSeqLineItems を 条件/引数 ボックスにドラッグします。 [ 抽出条件/引数 ] ボックスの末尾をクリックし、次の引数を入力します: 2

    [ 抽出条件/引数 ] ボックスの完全なテキストは次のようになります。 [Sequence Clustering].[v Assoc Seq Line Items],2

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

シーケンス クラスタリング モデルに関するチュートリアルを完了しました。

次のステップ

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

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

こちらもご覧ください

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