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_clause
とorder_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概要を参照してください。
ノート:
次の例は、『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