6.7 DBMS_DATA_MINING.Apply
DBMS_DATA_MINING
のAPPLY
プロシージャは、スコアリングの結果を表に直接書き込むバッチでの適用操作です。
表の列は、マイニング機能によって異なります。
APPLY
によるスコアリングでは、SQLスコアリング関数によるスコアリングと同じ結果が生成されます。たとえば、分類では各ケースの予測と確率が生成され、クラスタリングでは各ケースのクラスタIDと確率が生成されます。異なっているのは、スコアリング結果の取得方法と、その取得に使用できるメカニズムです。
APPLY
によって作成される出力表の列を次の表に示します。
表6-2 APPLY出力表
マイニング機能 | 出力列 |
---|---|
分類 |
|
回帰 |
|
異常検出 |
|
クラスタリング |
|
特徴抽出 |
|
APPLY
の出力はスコアリング・データとは別に保存されるため、スコアリング結果の行を含めた問合せをサポートするには、出力とスコアリング・データを結合する必要があります。したがって、APPLY
で使用されるモデルにはケースIDが必要となります。
ケースIDは、SQLスコアリング関数で適用されるモデルには不要です。同様に、スコアリング結果はSQL問合せ内でリアルタイムに生成および使用されるため、保存や結合も不要です。
次の例は、APPLY
による異常検出を示しています。このAPPLY
出力表の問合せは、表の最初の10名の顧客を戻します。各顧客について、典型的(1)または異常(0)である確率が示されます。
例6-15 DBMS_DATA_MINING.APPLYを使用した異常検出
EXEC dbms_data_mining.apply ('SVMO_SH_Clas_sample','svmo_sh_sample_prepared', 'cust_id', 'one_class_output'); SELECT * from one_class_output where rownum < 11; CUST_ID PREDICTION PROBABILITY ---------- ---------- ----------- 101798 1 .567389309 101798 0 .432610691 102276 1 .564922469 102276 0 .435077531 102404 1 .51213544 102404 0 .48786456 101891 1 .563474346 101891 0 .436525654 102815 0 .500663683 102815 1 .499336317