次の方法で共有


ClusterDistance (DMX)

適用対象: SQL Server Analysis Services

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

構文

  
ClusterDistance([<ClusterID expression>])  

適用対象

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

返り値の種類

スカラー値。

解説

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

K-Means クラスタリングの場合、いずれの場合も 1 つのクラスターにのみ属できるため、メンバーシップの重みは 1.0 で、クラスターの距離は常に 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

参照

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