6.3 予測の詳細
予測の詳細は、スコアに関する情報を提供するXML文字列です。すべてのタイプのスコアリング(クラスタリング、特徴抽出、分類、回帰および異常検出)に対して詳細を使用できます。詳細は、スコアリングが動的であるかモデル適用の結果であるかに関係なく使用できます。
詳細関数CLUSTER_DETAILS
、FEATURE_DETAILS
およびPREDICTION_DETAILS
では、スコアリングに使用された属性の実測値およびスコアの判断における属性の相対的な重要度が戻されます。これらの関数では、デフォルトで5つの最も重要な属性が重要度が高い順に戻されます。
6.3.1 クラスタ詳細
顧客100955の最も可能性が高いクラスタ割当て(20%を超える割当ての確率)について次の例の問合せでは、可能性の高いクラスタごとに最も影響がある属性を5つ生成します。クラスタリング関数により、mining_data_apply_v
から選択したデータにem_sh_clus_sample
という期待値最大化モデルが適用されます。デフォルトで5つの属性が戻されるため、CLUSTER_DETAILS
で指定されている「5」は必須ではありません。
例6-6 クラスタの詳細
SELECT S.cluster_id, probability prob, CLUSTER_DETAILS(em_sh_clus_sample, S.cluster_id, 5 USING T.*) det FROM (SELECT v.*, CLUSTER_SET(em_sh_clus_sample, NULL, 0.2 USING *) pset FROM mining_data_apply_v v WHERE cust_id = 100955) T, TABLE(T.pset) S ORDER BY 2 DESC; CLUSTER_ID PROB DET ---------- ----- ---------------------------------------------------------------------------- 14 .6761 <Details algorithm="Expectation Maximization" cluster="14"> <Attribute name="AGE" actualValue="51" weight=".676" rank="1"/> <Attribute name="HOME_THEATER_PACKAGE" actualValue="1" weight=".557" rank="2"/> <Attribute name="FLAT_PANEL_MONITOR" actualValue="0" weight=".412" rank="3"/> <Attribute name="Y_BOX_GAMES" actualValue="0" weight=".171" rank="4"/> <Attribute name="BOOKKEEPING_APPLICATION"actualValue="1" weight="-.003" rank="5"/> </Details> 3 .3227 <Details algorithm="Expectation Maximization" cluster="3"> <Attribute name="YRS_RESIDENCE" actualValue="3" weight=".323" rank="1"/> <Attribute name="BULK_PACK_DISKETTES" actualValue="1" weight=".265" rank="2"/> <Attribute name="EDUCATION" actualValue="HS-grad" weight=".172" rank="3"/> <Attribute name="AFFINITY_CARD" actualValue="0" weight=".125" rank="4"/> <Attribute name="OCCUPATION" actualValue="Crafts" weight=".055" rank="5"/> </Details>
6.3.2 特徴の詳細
次の例の問合せでは、顧客101501に関する最上位の主成分分析(PCA)投影に最も影響を与える3つの属性が戻されます。FEATURE_DETAILS
関数により、svd_sh_sample_build_num
から選択したデータにsvd_sh_sample
という特異値分解モデルが適用されます。
例6-7 特徴の詳細
SELECT FEATURE_DETAILS(svd_sh_sample, 1, 3 USING *) proj1det FROM svd_sh_sample_build_num WHERE CUST_ID = 101501; PROJ1DET -------------------------------------------------------------------------------- <Details algorithm="Singular Value Decomposition" feature="1"> <Attribute name="HOME_THEATER_PACKAGE" actualValue="1" weight=".352" rank="1"/> <Attribute name="Y_BOX_GAMES" actualValue="0" weight=".249" rank="2"/> <Attribute name="AGE" actualValue="41" weight=".063" rank="3"/> </Details>
6.3.3 予測の詳細
次の例の問合せでは、顧客100010の年齢を予測する場合に最も重要な属性が戻されます。予測関数により、mining_data_apply_v
から選択したデータにGLMR_SH_Regr_sample
という一般化線形モデル回帰モデルが適用されます。
例6-8 回帰用の予測の詳細
SELECT cust_id, PREDICTION(GLMR_SH_Regr_sample USING *) pr, PREDICTION_DETAILS(GLMR_SH_Regr_sample USING *) pd FROM mining_data_apply_v WHERE CUST_ID = 100010; CUST_ID PR PD ------- ----- ----------- 100010 25.45 <Details algorithm="Generalized Linear Model"> <Attribute name="FLAT_PANEL_MONITOR" actualValue="1" weight=".025" rank="1"/> <Attribute name="OCCUPATION" actualValue="Crafts" weight=".019" rank="2"/> <Attribute name="AFFINITY_CARD" actualValue="0" weight=".01" rank="3"/> <Attribute name="OS_DOC_SET_KANJI" actualValue="0" weight="0" rank="4"/> <Attribute name="BOOKKEEPING_APPLICATION" actualValue="1" weight="-.004" rank="5"/> </Details>
次の例の問合せでは、技術サポートで働いている、アフィニティ・カードを使用する可能性が高い(85%より高い確率)顧客が戻されます。予測関数により、mining_data_apply_v
から選択したデータにsvmc_sh_clas_sample
というサポート・ベクター・マシン(SVM)分類モデルが適用されます。問合せには、学歴が最も重要な予測子であることを示す予測の詳細が含まれています。
例6-9 分類用の予測の詳細
SELECT cust_id, PREDICTION_DETAILS(svmc_sh_clas_sample, 1 USING *) PD FROM mining_data_apply_v WHERE PREDICTION_PROBABILITY(svmc_sh_clas_sample, 1 USING *) > 0.85 AND occupation = 'TechSup' ORDER BY cust_id; CUST_ID PD ------- --------------------------------------------------------------------------------------- 100029 <Details algorithm="Support Vector Machines" class="1"> <Attribute name="EDUCATION" actualValue="Assoc-A" weight=".199" rank="1"/> <Attribute name="CUST_INCOME_LEVEL" actualValue="I: 170\,000 - 189\,999" weight=".044" rank="2"/> <Attribute name="HOME_THEATER_PACKAGE" actualValue="1" weight=".028" rank="3"/> <Attribute name="BULK_PACK_DISKETTES" actualValue="1" weight=".024" rank="4"/> <Attribute name="BOOKKEEPING_APPLICATION" actualValue="1" weight=".022" rank="5"/> </Details> 100378 <Details algorithm="Support Vector Machines" class="1"> <Attribute name="EDUCATION" actualValue="Assoc-A" weight=".21" rank="1"/> <Attribute name="CUST_INCOME_LEVEL" actualValue="B: 30\,000 - 49\,999" weight=".047" rank="2"/> <Attribute name="FLAT_PANEL_MONITOR" actualValue="0" weight=".043" rank="3"/> <Attribute name="HOME_THEATER_PACKAGE" actualValue="1" weight=".03" rank="4"/> <Attribute name="BOOKKEEPING_APPLICATION" actualValue="1" weight=".023" rank="5"/> </Details> 100508 <Details algorithm="Support Vector Machines" class="1"> <Attribute name="EDUCATION" actualValue="Bach." weight=".19" rank="1"/> <Attribute name="CUST_INCOME_LEVEL" actualValue="L: 300\,000 and above" weight=".046" rank="2"/> <Attribute name="HOME_THEATER_PACKAGE" actualValue="1" weight=".031" rank="3"/> <Attribute name="BULK_PACK_DISKETTES" actualValue="1" weight=".026" rank="4"/> <Attribute name="BOOKKEEPING_APPLICATION" actualValue="1" weight=".024" rank="5"/> </Details> 100980 <Details algorithm="Support Vector Machines" class="1"> <Attribute name="EDUCATION" actualValue="Assoc-A" weight=".19" rank="1"/> <Attribute name="FLAT_PANEL_MONITOR" actualValue="0" weight=".038" rank="2"/> <Attribute name="HOME_THEATER_PACKAGE" actualValue="1" weight=".026" rank="3"/> <Attribute name="BULK_PACK_DISKETTES" actualValue="1" weight=".022" rank="4"/> <Attribute name="BOOKKEEPING_APPLICATION" actualValue="1" weight=".02" rank="5"/> </Details>
次の例の問合せでは、他の顧客と最も異なる2人の顧客が戻されます。予測関数により、mining_data_apply_v
から選択したデータにSVMO_SH_Clas_sample
という異常検出モデルが適用されます。異常検出では、1クラスSVM分類子を使用します。
例6-10 異常検出用の予測の詳細
SELECT cust_id, pd FROM (SELECT cust_id, PREDICTION_DETAILS(SVMO_SH_Clas_sample, 0 USING *) pd, RANK() OVER (ORDER BY prediction_probability( SVMO_SH_Clas_sample, 0 USING *) DESC, cust_id) rnk FROM mining_data_one_class_v) WHERE rnk <= 2 ORDER BY rnk; CUST_ID PD ---------- ----------------------------------------------------------------------------------- 102366 <Details algorithm="Support Vector Machines" class="0"> <Attribute name="COUNTRY_NAME" actualValue="United Kingdom" weight=".078" rank="1"/> <Attribute name="CUST_MARITAL_STATUS" actualValue="Divorc." weight=".027" rank="2"/> <Attribute name="CUST_GENDER" actualValue="F" weight=".01" rank="3"/> <Attribute name="HOUSEHOLD_SIZE" actualValue="9+" weight=".009" rank="4"/> <Attribute name="AGE" actualValue="28" weight=".006" rank="5"/> </Details> 101790 <Details algorithm="Support Vector Machines" class="0"> <Attribute name="COUNTRY_NAME" actualValue="Canada" weight=".068" rank="1"/> <Attribute name="HOUSEHOLD_SIZE" actualValue="4-5" weight=".018" rank="2"/> <Attribute name="EDUCATION" actualValue="7th-8th" weight=".015" rank="3"/> <Attribute name="CUST_GENDER" actualValue="F" weight=".013" rank="4"/> <Attribute name="AGE" actualValue="38" weight=".001" rank="5"/> </Details>
6.3.4 GROUPINGヒント
データ・マイニング機能は、PREDICTION*
、CLUSTER*
、FEATURE*
およびORA_DM_*
などのSQL関数で構成されます。GROUPING
ヒントは、パーティション化されたモデルをスコアリングするときに、データ・マイニング・スコアリング関数に適用されるオプションのヒントです。
拡張されたPREDICTION関数コマンド・フォーマット
このヒントによって、入力データ・セットが個別のデータ・スライスにパーティション化されるため、次のパーティションに進む前に各パーティション全体がスコアリングされます。ただし、パーティションによるパラレル化も使用できます。データ・スライスは、モデルの構築時に使用されたパーティション化キー列によって決定されます。この方法は、パーティション化されたモデルに対するデータ・マイニング機能とともに使用できます。このヒントにより、多くのパーティションに関連付けられている大規模データをスコアリングするときは問合せパフォーマンスが向上する可能性がありますが、大規模システムでパーティションが少ない大規模データをスコアリングするときはパフォーマンスが低下する可能性があります。通常、ヒントを単一行問合せに使用する場合、パフォーマンスは向上しません。
<prediction function> ::=
PREDICTION <left paren> /*+ GROUPING */ <prediction model>
[ <comma> <class value> [ <comma> <top N> ] ]
USING <mining attribute list> <right paren>
PREDICTION
関数専用の構文が指定されますが、PREDICTION
、CLUSTERING
およびFEATURE_EXTRACTION
スコアリング関数が発生するデータ・マイニング機能に適用可能です。
例6-11 例
SELECT PREDICTION(/*+ GROUPING */my_model USING *) pred FROM <input table>;
関連トピック