CLUSTER_PROBABILITY

構文

cluster_probability::=

分析構文

cluster_prob_analytic::=

mining_attribute_clause::=

mining_analytic_clause::=

関連項目:

mining_analytic_clauseの構文、セマンティクスおよび制限事項の詳細は、分析ファンクションを参照してください。

目的

CLUSTER_PROBABILITYは、選択内に含まれる各行の確率を返します。確率は、最も高確率のクラスタまたは指定されたcluster_idを参照します。クラスタの確率は、BINARY_DOUBLEとして返されます。

構文の選択

CLUSTER_PROBABILITYは、2つの方法のどちらかでデータにスコアを付けます。1つの方法では、データにマイニング・モデル・オブジェクトを適用します。もう1つの方法では、1つ以上の一時マイニング・モデルを作成して適用する分析句を実行して動的にデータをマイニングします。構文または分析構文を選択します。

  • 構文 — 事前に定義されたモデルでデータにスコアを付ける場合は、最初の構文を使用します。クラスタリング・モデルの名前を指定します。

  • 分析構文 — 事前定義されたモデルなしで、データにスコアを付ける場合は、分析構文を使用します。INTO n (nは、計算するクラスタの数)と、mining_analytic_clause (複数のモデル構築のためにデータをパーティション化する必要がある場合に指定します)を含めます。mining_analytic_clauseは、query_partition_clauseorder_by_clauseをサポートします。(「analytic_clause::=」を参照。)

CLUSTER_PROBABILITYファンクションの構文では、パーティション化されたモデルをスコアリングするときに、オプションの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ユーザーズ・ガイドの「付録A」を参照してください。

次の例では、可能性に基づいて、クラスタ2で最も代表的な顧客を10人一覧表示します。

SELECT cust_id
  FROM (SELECT cust_id, rank() OVER (ORDER BY prob DESC, cust_id) rnk_clus2
    FROM (SELECT cust_id, CLUSTER_PROBABILITY(km_sh_clus_sample, 2 USING *) prob
          FROM mining_data_apply_v))
WHERE rnk_clus2 <= 10
ORDER BY rnk_clus2;
 
   CUST_ID
----------
    100256
    100988
    100889
    101086
    101215
    100390
    100985
    101026
    100601
    100672