構文

mining_attribute_clause::=

用途
このファンクションは、DBMS_DATA_MININGパッケージまたはOracle Data Minerを使用して作成したモデルのクラスタリングで使用するためのものです。このファンクションは、指定した行が属している可能性のあるクラスタを含むオブジェクトのVARRAYを戻します。VARRAYの各オブジェクトは、クラスタIDとクラスタ確率を含むスカラー値の組です。オブジェクト・フィールドには、CLUSTER_IDとPROBABILITYの名前が付き、両方ともOracleのNUMBERになります。
オプションのtopN引数には、正の整数を指定します。指定すると、予測クラスタの集合は、上位Nの確率値のいずれかを持つ予測クラスタに制限されます。topNを指定しないか、NULLに設定すると、すべてのクラスタはコレクションに戻されます。複数のクラスタがN番目の値に一致しても、N個の値のみが戻されます。
オプションのcutoff引数には、正の整数を指定し、戻されるクラスタを指定したカットオフ以上の確率を持つクラスタに制限します。NULLをtopNに指定し、必要なカットオフ値をcutoffに指定すると、cutoffのみをフィルタ処理できます。
topNとcutoffをともに指定すると、戻されるクラスタを上位Nの中で、しきい値を超える確率を持つクラスタに制限できます。
mining_attribute_clauseは、PREDICTIONファンクションと同様に動作します。「mining_attribute_clause」を参照してください。
|
関連項目:
|
例
次の例では、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.