CLUSTER_DISTANCE
構文
cluster_distance::=
分析構文
cluster_distance_analytic::=
mining_attribute_clause::=
mining_analytic_clause::=
関連項目:
mining_analytic_clause
の構文、セマンティクスおよび制限事項の詳細は、分析ファンクションを参照してください。
目的
CLUSTER_DISTANCE
は、選択内に含まれる各行のクラスタ距離を返します。クラスタ距離は、最も高確率のクラスタまたは指定されたcluster_id
の行と重心との間の距離です。この距離は、BINARY_DOUBLE
として返されます。
構文の選択
CLUSTER_DISTANCE
は、2つの方法のどちらかでデータにスコアを付けます。1つ目の方法では、データにマイニング・モデル・オブジェクトを適用します。もう1つの方法では、1つ以上の一時マイニング・モデルを作成してから適用する分析句を実行して、動的にデータをマイニングします。構文または分析構文を選択します。
-
構文 — 事前に定義されたモデルでデータにスコアを付ける場合は、最初の構文を使用します。クラスタリング・モデルの名前を指定します。
-
分析構文 — 事前定義されたモデルなしで、データにスコアを付ける場合は、分析構文を使用します。
INTO
n
(n
は、計算するクラスタの数)と、mining_analytic_clause
(複数のモデル構築のためにデータをパーティション化する必要がある場合に指定します)を含めます。mining_analytic_clause
は、query_partition_clause
とorder_by_clause
をサポートします。(「analytic_clause::=」を参照。)
CLUSTER_DISTANCE
ファンクションの構文では、パーティション化されたモデルをスコアリングするときに、オプションの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」を参照してください。
例
この例では、最近接のクラスタの重心からの距離で測定される、最も特異な10行の行を検出します。
SELECT cust_id FROM ( SELECT cust_id, rank() over (order by CLUSTER_DISTANCE(km_sh_clus_sample USING *) desc) rnk FROM mining_data_apply_v) WHERE rnk <= 11 ORDER BY rnk; CUST_ID ---------- 100579 100050 100329 100962 101251 100179 100382 100713 100629 100787 101478