プライマリ・コンテンツに移動
Oracle® Database SQL言語リファレンス
11gリリース2 (11.2)
B56299-08
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

CLUSTER_SET

構文

cluster_set.gifの説明が続きます。
図「cluster_set.gif」の説明

mining_attribute_clause::=

mining_attribute_clause.gifの説明が続きます。
図「mining_attribute_clause.gif」の説明

用途

このファンクションは、DBMS_DATA_MININGパッケージまたはOracle Data Minerを使用して作成したモデルのクラスタリングで使用するためのものです。このファンクションは、指定した行が属している可能性のあるクラスタを含むオブジェクトのVARRAYを戻します。VARRAYの各オブジェクトは、クラスタIDとクラスタ確率を含むスカラー値の組です。オブジェクト・フィールドには、CLUSTER_IDPROBABILITYの名前が付き、両方ともOracleのNUMBERになります。

topNcutoffをともに指定すると、戻されるクラスタを上位Nの中で、しきい値を超える確率を持つクラスタに制限できます。

mining_attribute_clauseは、PREDICTIONファンクションと同様に動作します。「mining_attribute_clause」を参照してください。


関連項目:

  • Oracle Data Miningの詳細は、『Oracle Data Mining概要』を参照してください。

  • SQLデータ・マイニング・ファンクションを使用したスコアリングの詳細は、『Oracle Data Miningアプリケーション開発者ガイド』を参照してください。


次の例では、20%を超える可能性で顧客101362が属する各クラスタで、最も関連性の高い属性(確信度が55%を超える)を示します。

この例と前提条件のデータ・マイニング操作(km_sh_clus_sampleモデル、ビューおよび型の作成など)は、デモ・ファイル$ORACLE_HOME/rdbms/demo/dmkmdemo.sqlで確認できます。データ・マイニングのデモ・ファイルの一般情報は、『Oracle Data Mining管理者ガイド』を参照してください。次に、このファンクションの構文の使用例を示します。

WITH
clus_tab AS (
SELECT id,
       A.attribute_name aname,
       A.conditional_operator op,
       NVL(A.attribute_str_value,
         ROUND(A.attribute_num_value),4)) val,
       A.attribute_support support,
       A.attribute_confidence confidence
  FROM TABLE(DBMS_DATA_MINING.GET_MODEL_DETAILS_KM('km_sh_clus_sample')) T,
       TABLE(T.rule.antecedent) A
 WHERE A.attribute_confidence > 0.55
),
clust AS (
SELECT id,
       CAST(COLLECT(Cattr(aname, op, TO_CHAR(val), support, confidence))
         AS Cattrs) cl_attrs
  FROM clus_tab
GROUP BY id
),
custclus AS (
SELECT T.cust_id, S.cluster_id, S.probability
  FROM (SELECT cust_id, CLUSTER_SET(km_sh_clus_sample, NULL, 0.2 USING *) pset
          FROM mining_data_apply_v
         WHERE cust_id = 101362) T,
       TABLE(T.pset) S
)
SELECT A.probability prob, A.cluster_id cl_id,
       B.attr, B.op, B.val, B.supp, B.conf
  FROM custclus A,
       (SELECT T.id, C.*
          FROM clust T,
               TABLE(T.cl_attrs) C) B
 WHERE A.cluster_id = B.id
ORDER BY prob DESC, cl_id ASC, conf DESC, attr ASC, val ASC;

   PROB      CL_ID ATTR                       OP VAL             SUPP    CONF
------- ---------- -------------------------- -- ----------- -------- -------
  .7745          8 HOUSEHOLD_SIZE             IN 9+               124   .7500
  .7745          8 CUST_MARITAL_STATUS        IN Divorc.          116   .6000
  .7745          8 CUST_MARITAL_STATUS        IN NeverM           116   .6000
  .7745          8 CUST_MARITAL_STATUS        IN Separ.           116   .6000
  .7745          8 CUST_MARITAL_STATUS        IN Widowed          116   .6000
  .2028          6 AGE                        >= 17               154   .6667
  .2028          6 AGE                        <= 31.6             154   .6667
  .2028          6 CUST_MARITAL_STATUS        IN NeverM           172   .6667
8 rows selected.