CLUSTER_ID
構文
cluster_id::=
分析構文
cluster_id_analytic::=
mining_attribute_clause::=
mining_analytic_clause::=
関連項目:
mining_analytic_clauseの構文、セマンティクスおよび制限事項の詳細は、分析ファンクションを参照してください。
目的
CLUSTER_IDは、選択内に含まれる各行の最も高確率のクラスタの識別子(ID)を返します。このクラスタIDは、Oracle NUMBERとして返されます。
構文の選択
CLUSTER_IDは、2つの方法のどちらかでデータにスコアを付けます。1つの方法では、データにマイニング・モデル・オブジェクトを適用します。もう1つの方法では、1つ以上の一時マイニング・モデルを作成して適用する分析句を実行して動的にデータをマイニングします。構文または分析構文を選択します。
-
構文 — 事前に定義されたモデルでデータにスコアを付ける場合は、最初の構文を使用します。クラスタリング・モデルの名前を指定します。
-
分析構文 — 事前定義されたモデルなしで、データにスコアを付ける場合は、分析構文を使用します。
INTOn(nは、計算するクラスタの数)と、mining_analytic_clause(複数のモデル構築のためにデータをパーティション化する必要がある場合に指定します)を含めます。mining_analytic_clauseは、query_partition_clauseとorder_by_clauseをサポートします。(「analytic_clause::=」を参照。)
CLUSTER_IDファンクションの構文では、パーティション化されたモデルをスコアリングするときに、オプションのGROUPINGヒントを使用できます。「GROUPINGヒント」を参照してください。
mining_attribute_clause
mining_attribute_clauseは、スコアの予測子として使用する列の属性を特定します。このファンクションが分析構文で起動された場合は、これらの予測子が一時モデルの構築にも使用されます。mining_attribute_clauseは、PREDICTIONファンクションと同様に動作します。(mining_attribute_clause::=を参照。)
関連項目:
-
スコアリングの詳細は、Oracle Data Miningユーザーズ・ガイドを参照してください。
-
クラスタリングの詳細は、Oracle Data Mining概要を参照してください。
ノート:
次に示す例は、Data Miningのサンプル・プログラムからの抜粋です。サンプル・プログラムの詳細は、Oracle Data Miningユーザーズ・ガイドの「付録A」を参照してください。
例
次の例では、mining_data_apply_v内の顧客がグループ化されているクラスタを一覧表示します。
SELECT CLUSTER_ID(km_sh_clus_sample USING *) AS clus, COUNT(*) AS cnt
FROM mining_data_apply_v
GROUP BY CLUSTER_ID(km_sh_clus_sample USING *)
ORDER BY cnt DESC;
CLUS CNT
---------- ----------
2 580
10 216
6 186
8 115
19 110
12 101
18 81
16 39
17 38
14 34分析の例
この例では、共通の特徴に基づいて、顧客のデータベースを4つのセグメントに分割します。このクラスタリングのファンクションは、事前に定義されたクラスタリング・モデルなしでクラスタを計算してスコアを返します。
SELECT * FROM (
SELECT cust_id,
CLUSTER_ID(INTO 4 USING *) OVER () cls,
CLUSTER_DETAILS(INTO 4 USING *) OVER () cls_details
FROM mining_data_apply_v)
WHERE cust_id <= 100003
ORDER BY 1;
CUST_ID CLS CLS_DETAILS
------- --- -----------------------------------------------------------------------------
100001 5 <Details algorithm="K-Means Clustering" cluster="5">
<Attribute name="FLAT_PANEL_MONITOR" actualValue="0" weight=".349" rank="1"/>
<Attribute name="BULK_PACK_DISKETTES" actualValue="0" weight=".33" rank="2"/>
<Attribute name="CUST_INCOME_LEVEL" actualValue="G: 130\,000 - 149\,999"
weight=".291" rank="3"/>
<Attribute name="HOME_THEATER_PACKAGE" actualValue="1" weight=".268" rank="4"/>
<Attribute name="Y_BOX_GAMES" actualValue="0" weight=".179" rank="5"/>
</Details>
100002 6 <Details algorithm="K-Means Clustering" cluster="6">
<Attribute name="CUST_GENDER" actualValue="F" weight=".945" rank="1"/>
<Attribute name="CUST_MARITAL_STATUS" actualValue="NeverM" weight=".856" rank="2"/>
<Attribute name="HOUSEHOLD_SIZE" actualValue="2" weight=".468" rank="3"/>
<Attribute name="AFFINITY_CARD" actualValue="0" weight=".012" rank="4"/>
<Attribute name="CUST_INCOME_LEVEL" actualValue="L: 300\,000 and above"
weight=".009" rank="5"/>
</Details>
100003 7 <Details algorithm="K-Means Clustering" cluster="7">
<Attribute name="CUST_MARITAL_STATUS" actualValue="NeverM" weight=".862" rank="1"/>
<Attribute name="HOUSEHOLD_SIZE" actualValue="2" weight=".423" rank="2"/>
<Attribute name="HOME_THEATER_PACKAGE" actualValue="0" weight=".113" rank="3"/>
<Attribute name="AFFINITY_CARD" actualValue="0" weight=".007" rank="4"/>
<Attribute name="CUST_ID" actualValue="100003" weight=".006" rank="5"/>
</Details>


