予測の作成 (基本的なデータ マイニング チュートリアル)
マイニング モデルの精度をテストして充分な結果が得られたら、データ マイニング デザイナーの [マイニング モデル予測] タブをクリックし、予測クエリ ビルダーを使用して予測クエリを作成できます。 このインターフェイスでは、DMX、つまりデータ マイニング拡張機能 (DMX) 言語でクエリを作成できます。 DMX の構文は T-SQL と似ていますが、データ マイニング オブジェクトに対するクエリに使用されます。
予測クエリ ビルダーには 3 つのビューがあります。 デザイン ビューとクエリ ビューでは、クエリの作成と検証を行います。 次に、クエリを実行してその結果を結果ビューに表示します。
予測クエリ ビルダーの使用法の詳細については、「データ マイニング クエリ インターフェイス」を参照してください。
クエリの作成
予測クエリを作成するには、まず、マイニング モデルと入力テーブルを選択します。
モデルと入力テーブルを選択するには
データ マイニング デザイナーの [マイニング モデル予測] タブを開き、[マイニング モデル] ボックスの [モデルの選択] をクリックします。
[マイニング モデルの選択] ダイアログ ボックスで、ツリーの [Targeted Mailing] 構造に移動し、その構造を展開して [TM_Decision_Tree] を選択し、[OK] をクリックします。
[入力テーブルの選択] ボックスで、[ケース テーブルの選択] をクリックします。
[テーブルの選択] ダイアログ ボックスで、[データ ソース] ボックスの一覧から [ Adventure Works DW Multidimensional 2012 ] を選択します。
[テーブル名またはビュー名] ボックスで [ProspectiveBuyer (dbo)] テーブルを選択し、[OK] をクリックします。
ProspectiveBuyer テーブルは、vTargetMail ケース テーブルに非常に似ています。
列のマッピング
入力テーブルを選択すると、列名に基づいてマイニング モデルと入力テーブルの間に既定のマッピングが作成されます。 構造の列と外部データの列は 1 つ以上一致する必要があります。
重要 |
---|
モデルの精度を判断するために使用するデータには、予測可能列にマッピングできる列が含まれている必要があります。 そのような列が存在しない場合は、空の値で列を作成できますが、データ型が予測可能列と同じである必要があります。 |
構造の列を入力テーブルの列にマッピングするには
[マイニング モデル] ウィンドウと [入力テーブルの選択] ウィンドウを接続する線を右クリックし、[接続の変更] をクリックします。
すべての列をマップするわけではありません。 いくつかの [テーブル列] のマッピングを追加します。 一致する列を増やすため、現在の日付の列に基づいて新しい生年月日の列も生成します。
[テーブル列] で [Bike Buyer] セルをクリックし、ドロップダウンから ProspectiveBuyer.Unknown を選択します。
これにより、予測可能列 [Bike Buyer] が入力テーブルの列にマップされます。
[OK] をクリックします。
ソリューション エクスプローラーで、[Targeted Mailing] データ ソース ビューを右クリックし、[ビュー デザイナー] をクリックします。
テーブルの ProspectiveBuyer を右クリックし、[新しい名前付き計算] をクリックします。
[名前付き計算の作成] ダイアログ ボックスで、[列名] ボックスに「calcAge」と入力します。
[説明] に、「Calculate age based on birthdate」と入力します。
[式] ボックスに「DATEDIFF(YYYY,[BirthDate],getdate())」と入力し、[OK] をクリックします。
入力テーブルにはモデル内の列に対応する Age 列がないため、この式を使用して入力テーブルの BirthDate 列から顧客の年齢を計算できます。 Age 列は、自転車の購入の予測に最も大きく影響する列と見なされているため、モデルと入力テーブルの両方に存在する必要があります。
データ マイニング デザイナーで、[マイニング モデル予測] タブをクリックし、[接続の変更] ウィンドウを再度開きます。
[テーブル列] で [Age] セルをクリックし、ドロップダウンから ProspectiveBuyer.calcAge を選択します。
注意 一覧に列が表示されない場合は、場合によって、デザイナーに読み込まれたデータ ソース ビューの定義を更新する必要があります。 このためには、[ファイル] メニューの [すべて保存] をクリックし、デザイナーでプロジェクトを閉じてから再び開きます。
[OK] をクリックします。
予測クエリのデザイン
予測クエリをデザインするには
[マイニング モデル予測] タブのツール バーにある最初のボタンは、[デザイン ビューに切り替え]/[結果ビューに切り替え]/[クエリ ビューに切り替え] ボタンです。 このボタンの下矢印をクリックし、[デザイン] をクリックします。
[マイニング モデル予測] タブのグリッドで、[ソース] 列の最初の空白行のセルをクリックし、[予測関数] をクリックします。
[予測関数] 行の [フィールド] 列で [PredictProbability] をクリックします。
同じ行の [別名] 列で、「Probability of result」と入力します。
[マイニング モデル] ウィンドウの上部にある [Bike Buyer] をクリックして [条件と引数] セルにドラッグします。
マウスを離すと、[TM_Decision_Tree].[Bike Buyer] が [条件と引数] セルに表示されます。
これにより、PredictProbability 関数の対象列を指定します。 関数の詳細については、「データ マイニング拡張機能 (DMX) 関数リファレンス」を参照してください。
[ソース] 列で次の空白行をクリックし、TM_Decision_Tree mining model を選択します。
TM_Decision_Tree 行の [フィールド] 列で、[Bike Buyer] を選択します。
TM_Decision_Tree 行の [条件と引数] 列に「=1」と入力します。
[ソース] 列で次の空白行をクリックし、ProspectiveBuyer テーブルを選択します。
ProspectiveBuyer 行の [フィールド] 列で、[ProspectiveBuyerKey] をクリックします。
予測クエリに一意識別子が追加され、自転車を購入する傾向がある顧客とそうでない顧客を特定できるようになります。
グリッドに 5 つの行を追加します。 各行で、[ソース] として ProspectiveBuyer テーブルを選択し、[フィールド] セルに次の列を追加します。
calcAge
LastName
FirstName
AddressLine1
AddressLine2
最後に、クエリを実行して結果を参照します。
クエリを実行して結果を表示するには
[マイニング モデル予測] タブで [結果] ボタンをクリックします。
クエリを実行して結果が表示されたら、その結果を確認できます。
[マイニング モデル予測] タブには、自転車を購入する可能性がある潜在顧客の連絡先情報が表示されます。 [Probability of result] 列には、予測の精度が示されます。 これらの結果を使用すると、メールを送信する対象となる潜在顧客を特定できます。
この時点で、結果を保存できます。 この場合、3 つの選択肢があります。
クリップボードにその値 (および列見出し) だけを保存するには、結果のデータの行を右クリックして [コピー] を選択します。
列見出しを含む結果セット全体をクリップボードにコピーするには、結果の行を右クリックして [すべてコピー] を選択します。
データベースに結果を直接保存するには、次のように [クエリ結果の保存] をクリックします。
[データ マイニングのクエリ結果を保存] ダイアログ ボックスで、データ ソースを選択するか、新しいデータ ソースを定義します。
クエリの結果が保存されるテーブルの名前を入力します。
テーブルを作成して既存のデータ ソース ビューに追加するには、[DSV に追加] オプションを使用します。 これは、モデルのすべての関連テーブル (トレーニング データ、予測ソース データ、クエリ結果など) を同じデータ ソース ビューで保持する場合に便利です。
既存のテーブルを最新の結果で更新するには、[存在する場合は上書きする] オプションを使用します。
予測クエリに列を追加した場合、予測クエリで列の名前またはデータ型を変更した場合、または保存先テーブルで ALTER ステートメントを実行した場合、このオプションを使用してテーブルを上書きする必要があります。
また、複数の列に同じ名前 (既定の列名 Expression など) が含まれる場合、重複する名前を持つ各列に対して別名を作成する必要があります。そうしないと、デザイナーが SQL Server に結果を保存しようとしたときにエラーが発生します。 SQL Server では、複数の列に同じ名前が含まれることが許可されないためです。
詳細については、「[データ マイニングのクエリ結果を保存] ダイアログ ボックス ([マイニング モデル予測] ビュー)」を参照してください。
このレッスンの次の作業
構造データでのドリルスルーの使用 (基本的なデータ マイニング チュートリアル)