予測クエリを作成するには、まず、クエリの基になるマイニング モデルを選択する必要があります。 現在のプロジェクトに存在する任意のマイニング モデルを選択できます。
モデルを選択したら、 クエリに予測関数 を追加します。 これは、予測関数が多くの目的で使用されることを理解するためにインポートされます。はい、値を予測することはできますが、関連する統計や、予測の生成に使用された情報を取得することもできます。 予測関数は、次の種類の値を返すことができます。
予測可能な属性の名前と、予測される値。
予測値の分布と分散に関する統計。
指定した結果の確率、または考えられるすべての結果の確率。
上位または下位のスコアまたは値。
指定したノード、オブジェクト、または属性に関連付けられている値。
さまざまな予測関数を使用できますが、作成したモデルの種類に合った関数を選択する必要があります。 通常、この選択は、モデルの作成に使用されるアルゴリズムによって異なります。
ほぼすべてのモデル型でサポートされている予測関数の一覧については、「 一般的な予測関数 (DMX)」を参照してください。
さらに、個々のアルゴリズムでは、さまざまな特殊な関数がサポートされています。 たとえば、Microsoft クラスタリング アルゴリズムに基づいてマイニング モデルを作成する場合は、特殊な予測関数を使用して、データ値からクラスター重心までの距離など、クラスターに関する情報を検索できます。
特定の種類のマイニング モデルに対してクエリを実行する方法の例については、「データ マイニング アルゴリズム (Analysis Services - データ マイニング)」のアルゴリズムリファレンス トピックを参照してください。
予測に使用するマイニング モデルを選択する
SQL Server Management Studio でモデルを右クリックし、[ 予測クエリの作成] を選択します。
--又は--
SQL Server Data Tools (SSDT) で、[マイニング モデル予測] タブをクリックし、[マイニング モデル] テーブルの [モデルの選択] をクリックします。
[ マイニング モデルの選択 ] ダイアログ ボックスで、マイニング モデルを選択し、[ OK] をクリックします。
現在の Analysis Services データベース内の任意のモデルを選択できます。 別のデータベースのモデルを使用してクエリを作成するには、そのデータベースのコンテキストで新しいクエリ ウィンドウを開くか、そのモデルを含むソリューション ファイルを開く必要があります。
予測関数をクエリに追加する
予測クエリ ビルダーで、[Singleton Query Input]\(シングルトン クエリ入力\) ダイアログ ボックスに値を指定するか、モデルを外部データ ソースにマッピングすることによって、予測に使用される入力データを構成します。
詳細については、「 予測クエリの入力データの選択とマップ」を参照してください。
警告
予測を生成するために入力を指定する必要はありません。 入力がない場合、アルゴリズムは通常、考えられるすべての入力で最も可能性の高い予測値を返します。
[ ソース ] 列をクリックし、一覧から値を選択します。
<モデル名> 出力にマイニング モデルの値を含めるには、このオプションを選択します。 予測可能な列のみを追加できます。
モデルから列を追加すると、返される結果は、その列の値の一覧とは異なります。
このオプションで追加した列は、結果の DMX ステートメントの SELECT 部分に含まれます。Prediction 関数 予測関数の一覧を参照するには、このオプションを選択します。
選択した値または関数は、結果の DMX ステートメントの SELECT 部分に追加されます。
予測関数の一覧は、選択したモデルの種類によってフィルターまたは制約されません。 したがって、関数が現在のモデル型でサポートされているかどうかについて不明な点がある場合は、関数をリストに追加して、エラーがあるかどうかを確認できます。
$ ($AdjustedProbability など) の前にあるリスト項目は、関数を使用するときに出力される入れ子になったテーブルの列を表PredictHistogram
。 これらは、入れ子になったテーブルではなく、1 つの列を返すために使用できるショートカットです。カスタム式 カスタム式を入力し、出力にエイリアスを割り当てるには、このオプションを選択します。
カスタム式は、結果として得られる DMX 予測クエリの SELECT 部分に追加されます。
このオプションは、各行で出力するテキストを追加する場合、VB 関数を呼び出す場合、またはカスタム ストアド プロシージャを呼び出す場合に便利です。
DMX から VBA 関数と Excel 関数を使用する方法については、 MDX および DAX の VBA 関数を参照してください。各関数または式を追加した後、DMX ビューに切り替えて、DMX ステートメント内で関数がどのように追加されるかを確認します。
警告
予測クエリ ビルダーは、[ 結果] をクリックするまで DMX を検証しません。 多くの場合、クエリ ビルダーによって生成される式が無効な DMX であることがわかります。 一般的な原因は、予測可能な列に関連しない列を参照しているか、入れ子になったテーブル内の列を予測しようとしているため、サブ SELECT ステートメントが必要です。 この時点で、DMX ビューに切り替えて、ステートメントの編集を続けることができます。
例: クラスタリング モデルに対してクエリを作成する
このサンプル クエリの構築に使用できるクラスタリング モデルがない場合は、 基本的なデータ マイニング チュートリアルを使用してモデル [TM_Clustering] を作成します。
SQL Server Management Studio で、モデル [TM_Clustering] を右クリックし、[ 予測クエリのビルド] を選択します。
[ マイニング モデル ] メニューの [シングルトン クエリ] を選択します。
[ シングルトン クエリ入力 ] ダイアログ ボックスで、次の値を入力として設定します。
性別 = 男
通勤距離 = 5 - 10 マイル
クエリ グリッドの [ソース] で、マイニング モデルTM_Clustering選択し、[Bike Buyer] 列を追加します。
[ソース] で [予測関数] を選択し、関数を追加
Cluster
。[ソース] で [予測関数] を選択し、関数を追加して
PredictSupport
し、モデル列 [Bike Buyer] を抽出条件/引数ボックスにドラッグします。 [エイリアス] 列に「Support」と入力します。[ 抽出条件/引数 ] ボックスから、予測関数と列参照を表す式をコピーします。
[ソース] で [カスタム式] を選択し、エイリアスを入力し、次の構文を使用して Excel CEILING 関数を参照します。
Excel as <return type>
列参照を関数の引数として貼り付けます。
たとえば、次の式はサポート値の CEILING を返します。
EXCEL!CEILING(PredictSupport([TM_Clustering].[Bike Buyer]),2)
エイリアス列に「CEILING」と入力します。
[ クエリ テキスト ビューに切り替える ] をクリックして生成された DMX ステートメントを確認し、[ クエリ結果ビューに切り替える ] をクリックして予測クエリによって出力された列を表示します。
次の表に、予想される結果を示します。
自転車購入者 $クラスター サポート 天井 0 クラスター 8 954 953.948638926372
ステートメント内の他の場所に他の句を追加する場合など、WHERE 句を追加する場合は、グリッドを使用して追加することはできません。最初に DMX ビューに切り替える必要があります。