CLUSTER_SET
構文
cluster_set::=
分析構文
cluster_set_analytic::=
mining_attribute_clause::=
mining_analytic_clause::=
関連項目:
mining_analytic_clause
の構文、セマンティクスおよび制限事項の詳細は、分析ファンクションを参照してください。
目的
CLUSTER_SET
は、選択内に含まれる各行のクラスタIDと確率の組で構成されるセットを返します。戻り値は、フィールド名がCLUSTER_ID
およびPROBABILITY
のオブジェクトのVARRAYです。クラスタIDはOracle NUMBER
で、確率はBINARY_DOUBLE
です。
topNおよびcutoff
topN
とcutoff
を指定すると、このファンクションから返されるクラスタの数を制限できます。デフォルトでは、topN
およびcutoff
がnullであり、すべてのクラスタが戻されます。
-
topN
は、最も可能性の高いN
個のクラスタになります。N
番目の確率を持つクラスタが複数ある場合でも、ファンクションが選択するのはそのうち1つのみです。 -
cutoff
は、確率しきい値です。cutoff
以上の確率を持つクラスタのみが返されます。cutoff
のみでフィルタ処理するには、topN
にNULL
を指定します。
cutoff
以上の最も高確率のクラスタを最大N
個まで返すには、topN
とcutoff
の両方を指定します。
構文の選択
CLUSTER_SET
は、2つの方法のどちらかでデータにスコアを付けます。1つの方法では、データにマイニング・モデル・オブジェクトを適用します。もう1つの方法では、1つ以上の一時マイニング・モデルを作成して適用する分析句を実行して動的にデータをマイニングします。構文または分析構文を選択します。
-
構文 — 事前に定義されたモデルでデータにスコアを付ける場合は、最初の構文を使用します。クラスタリング・モデルの名前を指定します。
-
分析構文 — 事前定義されたモデルなしで、データにスコアを付ける場合は、分析構文を使用します。
INTO
n
(n
は、計算するクラスタの数)と、mining_analytic_clause
(複数のモデル構築のためにデータをパーティション化する必要がある場合に指定します)を含めます。mining_analytic_clause
は、query_partition_clause
とorder_by_clause
をサポートします。(「analytic_clause::=」を参照。)
CLUSTER_SET
ファンクションの構文では、パーティション化されたモデルをスコアリングするときに、オプションの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」を参照してください。
例
この例では、顧客ID 100955のクラスタ割当てに対して、最大の影響が(20%以上の確率で)ある属性が一覧表示されます。この問合せは、CLUSTER_DETAILS
ファンクションとCLUSTER_SET
ファンクションを起動します。これにより、クラスタリング・モデルem_sh_clus_sample
を適用します。
SELECT S.cluster_id, probability prob, CLUSTER_DETAILS(em_sh_clus_sample, S.cluster_id, 5 USING T.*) det FROM (SELECT v.*, CLUSTER_SET(em_sh_clus_sample, NULL, 0.2 USING *) pset FROM mining_data_apply_v v WHERE cust_id = 100955) T, TABLE(T.pset) S ORDER BY 2 DESC; CLUSTER_ID PROB DET ---------- ----- ------------------------------------------------------------------------------ 14 .6761 <Details algorithm="Expectation Maximization" cluster="14"> <Attribute name="AGE" actualValue="51" weight=".676" rank="1"/> <Attribute name="HOME_THEATER_PACKAGE" actualValue="1" weight=".557" rank="2"/> <Attribute name="FLAT_PANEL_MONITOR" actualValue="0" weight=".412" rank="3"/> <Attribute name="Y_BOX_GAMES" actualValue="0" weight=".171" rank="4"/> <Attribute name="BOOKKEEPING_APPLICATION" actualValue="1" weight="-.003"rank="5"/> </Details> 3 .3227 <Details algorithm="Expectation Maximization" cluster="3"> <Attribute name="YRS_RESIDENCE" actualValue="3" weight=".323" rank="1"/> <Attribute name="BULK_PACK_DISKETTES" actualValue="1" weight=".265" rank="2"/> <Attribute name="EDUCATION" actualValue="HS-grad" weight=".172" rank="3"/> <Attribute name="AFFINITY_CARD" actualValue="0" weight=".125" rank="4"/> <Attribute name="OCCUPATION" actualValue="Crafts" weight=".055" rank="5"/> </Details>