FEATURE_DETAILS

構文

feature_details::=

分析構文

feature_details_analytic::=

mining_attribute_clause::=

mining_analytic_clause::=

関連項目:

mining_analytic_clauseの構文、セマンティクスおよび制限事項の詳細は、「分析ファンクション」を参照してください。

目的

FEATURE_DETAILSは、選択内に含まれる各行の特徴の詳細を返します。戻り値は、最も値が大きい特徴または指定されたfeature_idの属性について記述したXML文字列です。

topN

topNに値を指定すると、このファンクションは特徴の値に最も影響力のあるN個の属性を返します。topNを指定しないと、このファンクションは最も影響力のある5つの属性を返します。

DESC、ASC、またはABS

返される属性が重みで順序付けされます。属性の重みは、その属性が特徴値に与える正の影響または負の影響を表します。正の重みは、特徴の値が大きくなることを示します。負の重みは、特徴の値が小さくなることを示します。

デフォルトでは、FEATURE_DETAILSは、最大の正の重みを持つ属性を返します(DESC)。ASCを指定すると、最大の負の重みを持つ属性が返されます。ABSを指定すると、正負を問わずに、最大の重みを持つ属性が返されます。結果は、絶対値が高いほうから低いほうに順序付けされています。重みがゼロの属性は、出力に含まれません。

構文の選択

FEATURE_DETAILSは、2つの方法のどちらかでデータにスコアを付けます。1つの方法では、データにマイニング・モデル・オブジェクトを適用します。もう1つの方法では、1つ以上の一時マイニング・モデルを作成して適用する分析句を実行して動的にデータをマイニングします。構文または分析構文を選択します。

  • 構文 — 事前に定義されたモデルでデータにスコアを付ける場合は、最初の構文を使用します。特徴抽出モデルの名前を指定します。

  • 分析構文 — 事前定義されたモデルなしで、データにスコアを付ける場合は、分析構文を使用します。INTO n (nは、抽出する特徴の数)と、mining_analytic_clause (複数のモデル構築のためにデータをパーティション化する必要がある場合に指定します)を含めます。mining_analytic_clauseは、query_partition_clauseorder_by_clauseをサポートします。(analytic_clause::=を参照。)

FEATURE_DETAILSファンクションの構文では、パーティション化されたモデルをスコアリングするときに、オプションのGROUPINGヒントを使用できます。「GROUPINGヒント」を参照してください。

mining_attribute_clause

mining_attribute_clauseは、スコアの予測子として使用する列の属性を特定します。このファンクションが分析構文で起動された場合は、これらの予測子が一時モデルの構築にも使用されます。mining_attribute_clauseは、PREDICTIONファンクションと同様に動作します。(「mining_attribute_clause::=」を参照)

関連項目:

ノート:

次の例は、『Oracle Machine Learning for SQL』のサンプル・プログラムからの抜粋です。サンプル・プログラムの詳細は、Oracle Machine Learning for SQLユーザーズ・ガイドの「付録A」を参照してください。

この例では、特徴抽出モデルnmf_sh_sampleを使用して、データにスコアを付けます。この問合せは、顧客100002を代表する3つの特徴と、それらの特徴に最も影響を与える属性を返します。

SELECT S.feature_id fid, value val,
       FEATURE_DETAILS(nmf_sh_sample, S.feature_id, 5 using T.*) det
   FROM
     (SELECT v.*, FEATURE_SET(nmf_sh_sample, 3 USING *) fset
         FROM mining_data_apply_v v
         WHERE cust_id = 100002) T,
   TABLE(T.fset) S
ORDER BY 2 DESC;
 
 FID    VAL  DET
---- ------  ------------------------------------------------------------------------------------
   5  3.492  <Details algorithm="Non-Negative Matrix Factorization" feature="5">
             <Attribute name="BULK_PACK_DISKETTES" actualValue="1" weight=".077" rank="1"/>
             <Attribute name="OCCUPATION" actualValue="Prof." weight=".062" rank="2"/>
             <Attribute name="BOOKKEEPING_APPLICATION" actualValue="1" weight=".001" rank="3"/>
             <Attribute name="OS_DOC_SET_KANJI" actualValue="0" weight="0" rank="4"/>
             <Attribute name="YRS_RESIDENCE" actualValue="4" weight="0" rank="5"/>
             </Details>
   3  1.928  <Details algorithm="Non-Negative Matrix Factorization" feature="3">
             <Attribute name="HOUSEHOLD_SIZE" actualValue="2" weight=".239" rank="1"/>
             <Attribute name="CUST_INCOME_LEVEL" actualValue="L: 300\,000 and above" 
              weight=".051" rank="2"/>
             <Attribute name="FLAT_PANEL_MONITOR" actualValue="1" weight=".02" rank="3"/>
             <Attribute name="HOME_THEATER_PACKAGE" actualValue="1" weight=".006" rank="4"/>
             <Attribute name="AGE" actualValue="41" weight=".004" rank="5"/>
             </Details>
   8   .816  <Details algorithm="Non-Negative Matrix Factorization" feature="8">
             <Attribute name="EDUCATION" actualValue="Bach." weight=".211" rank="1"/>
             <Attribute name="CUST_MARITAL_STATUS" actualValue="NeverM" weight=".143" rank="2"/>
             <Attribute name="FLAT_PANEL_MONITOR" actualValue="1" weight=".137" rank="3"/>
             <Attribute name="CUST_GENDER" actualValue="F" weight=".044" rank="4"/>
             <Attribute name="BULK_PACK_DISKETTES" actualValue="1" weight=".032" rank="5"/>
             </Details>

分析の例

この例では、顧客の属性を6つの特徴に動的にマップして、顧客100001の特徴マッピングを返します。

SELECT feature_id, value
  FROM (
     SELECT cust_id, feature_set(INTO 6 USING *) OVER () fset
        FROM mining_data_apply_v),
  TABLE (fset)
  WHERE cust_id = 100001
  ORDER BY feature_id;
 
FEATURE_ID    VALUE
---------- --------
         1    2.670
         2     .000
         3    1.792
         4     .000
         5     .000
         6    3.379