次の方法で共有


ClusterDistance (DMX)

適用: SQL Server Analysis Services

ClusterDistance 関数は、指定したクラスターからの入力ケースの距離、またはクラスターが指定されていない場合は、最も可能性の高いクラスターからの入力ケースの距離を返します。

構文

  
ClusterDistance([<ClusterID expression>])  

適用対象

この関数は、基になるデータ マイニング モデルがクラスタリングをサポートしている場合にのみ使用できます。 関数は、任意の種類のクラスタリング モデル (EM、K-Means など) で使用できますが、結果はアルゴリズムによって異なります。

戻り値の型

スカラー値。

注釈

ClusterDistance 関数は、入力ケースと、その入力ケースの確率が最も高いクラスターとの間の距離を返します。

K-Means クラスタリングの場合、いずれの場合もメンバーシップの重みが 1.0 の 1 つのクラスターにのみ属できるため、クラスターの距離は常に 0 になります。 ただし、K-Means では、各クラスターに重心があると想定されています。 重心の値を取得するには、マイニング モデル コンテンツ内の入れ子になったテーブルNODE_DISTRIBUTIONクエリを実行または参照します。 詳細については、「 クラスタリング モデルのマイニング モデル コンテンツ (Analysis Services - データ マイニング)」を参照してください。

既定の EM クラスタリング方式の場合、クラスター内のすべてのポイントが等しい可能性が高いと見なされます。したがって、設計上、クラスターの重心はありません。 特定のケースと特定のクラスター N の間の ClusterDistance の値は、次のように計算されます。

ClusterDistance(N) =1-(membershipWeight(N))

または:

ClusterDistance(N) =1-ClusterProbability (N))

Analysis Services には、クラスタリング モデルのクエリを実行するための次の追加関数が用意されています。

  • クラスター (DMX) 関数を使用して、最も可能性の高いクラスターを返します。

  • ClusterProbability (DMX) 関数を使用して、ケースが特定のクラスターに属する確率を取得します。 この値は、クラスター距離の逆関数として機能します。

  • PredictHistogram (DMX) 関数を使用して、モデルの各クラスターに存在する入力ケースの可能性のヒストグラムを返します。

  • PredictCaseLikelihood (DMX) 関数を使用して、アルゴリズムによって学習されたモデルを考慮して入力ケースが存在する可能性を示す 0 から 1 までのメジャーを返します。

例 1: 最も可能性の高いクラスターへのクラスター距離を取得する

次の例では、指定したケースから、ケースが属している可能性が最も高いクラスターまでの距離を返します。

SELECT  
    ClusterDistance()  
FROM  
    [TM Clustering]  
NATURAL PREDICTION JOIN  
(SELECT 28 AS [Age],  
    '2-5 Miles' AS [Commute Distance],  
    'Graduate Degree' AS [Education],  
    0 AS [Number Cars Owned],  
    0 AS [Number Children At Home]) AS t  

結果の例:

Expression
0.0477390930705145

これがどのクラスターであるかを確認するには、上記の例で Cluster の代わりに ClusterDistance を使用します。

結果の例:

$CLUSTER
クラスター 6

例 2: 指定したクラスターまでの距離の取得

次の構文では、マイニング モデル コンテンツ スキーマ行セットを使用して、マイニング モデル内のクラスターのノードの ID とノードのキャプションの一覧を返します。 その後、ClusterDistance 関数のクラスター識別子引数としてノード キャプションを使用できます。

SELECT NODE_UNIQUE_NAME, NODE_CAPTION   
FROM <model>.CONTENT   
WHERE NODE_TYPE = 5  

結果の例:

NODE_UNIQUE_NAME NODE_CAPTION
001 クラスター 1
002 Cluster 2

次の構文例では、クラスター 2 というラベルの付いたクラスターから、指定したケースの距離を返します。

SELECT  
    ClusterDistance('Cluster 2')  
AS [Cluster 2 Distance]  
FROM [TM Clustering]  
NATURAL PREDICTION JOIN  
(SELECT 28 AS [Age],  
    '2-5 Miles' AS [Commute Distance],  
    'Graduate Degree' AS [Education],  
    0 AS [Number Cars Owned],  
    0 AS [Number Children At Home]) AS t  

結果の例:

Cluster 2 Distance
0.97008209236394

参照

Cluster (DMX)
データ マイニング拡張機能 (DMX) 関数リファレンス
関数 (DMX)
クラスター モデルのマイニング モデル コンテンツ (Analysis Services - データ マイニング)