次の方法で共有


Microsoft クラスタリング アルゴリズム

Microsoft クラスタリング アルゴリズムは、Microsoft SQL Server 2005 Analysis Services (SSAS) によって提供される分割アルゴリズムです。このアルゴリズムは、反復的な手法を使用して、類似の特性を持つクラスタにデータセット内のケースをグループ化します。このグループ化は、データの探索、データの異常の特定、および予測の作成に役立ちます。

クラスタリング モデルでは、一般レベルの観察では論理的に推論できないデータセット内の関係が識別されます。たとえば、自転車で通勤している従業員は、一般的に勤め先から遠くないところに住んでいることは、だれでも明確に理解できます。しかし、このアルゴリズムでは、それほど明確でない自転車通勤者に関する他の特性を見つけることができます。次の図では、クラスタ A は勤め先に車で通勤する従業員に関するデータを表し、クラスタ B は勤め先に自転車で通勤する従業員に関するデータを表しています。

通勤者の傾向を示すクラスタ パターン

クラスタリング アルゴリズムは、クラスタリング モデルを作成するために予測可能列を指定する必要がないという点において、Microsoft デシジョン ツリー アルゴリズムなどの他のデータ マイニング アルゴリズムと異なります。クラスタリング アルゴリズムでは、データに存在する関係と、アルゴリズムで識別されたクラスタからのみモデルをトレーニングします。

類似の人口統計情報を共有しており、Adventure Works 社から類似の製品を購入する人々のグループがあるとします。このような人々のグループが、データの 1 クラスタを表し、データベース内にいくつか存在します。クラスタを構成する列を観察することによって、データセットの各レコードが互いにどのように関係しているかを明確に理解できます。

アルゴリズムの動作

Microsoft クラスタリング アルゴリズムでは、まずデータセット内の関係が識別され、その関係に基づいて一連のクラスタが生成されます。次の図のように、アルゴリズムによってデータがどのようにグループ化されるかを視覚的に表すには、散布図が便利です。散布図にはデータセット内のすべてのケースが表され、各ケースはグラフ上にポイントで示されます。クラスタは、グラフ上のポイントをグループ化したもので、アルゴリズムによって識別された関係を示します。

データセットの各ケースを示す散布図

アルゴリズムはクラスタを定義した後、そのクラスタがポイントのグループをどの程度適切に表しているかを判断し、グループを再定義して、データをより適切に表すクラスタを作成します。このプロセスは、クラスタの再定義によってそれ以上結果を向上できなくなるまで繰り返されます。

Microsoft クラスタリング アルゴリズムでは、ポイントがクラスタ内にどの程度適切に収まっているかを判断するために、Expectation Maximization (EM) および K-Means という 2 種類の方法を使用します。EM クラスタリングでは、あるデータ ポイントがクラスタ内に存在する可能性を判断するための確率論手法が使用されます。K-Means では、距離メジャーを使用して、データ ポイントが最も近いクラスタに割り当てられます。

使用法が PREDICT ONLY に設定されている列は、クラスタの作成には使用されません。クラスタ内のポイントの分布は、クラスタの作成後に算出されます。

Microsoft クラスタリング アルゴリズムの動作の詳細については、「Scaling EM (Expectation Maximization) Clustering to Large Databases」を参照してください。

アルゴリズムの使用

クラスタリング モデルは、キー列と入力列を含んでいる必要があります。入力列は、予測可能列として定義することもできます。

次の表のように、このアルゴリズムでは、特定の入力列のコンテンツの種類、予測可能列のコンテンツの種類、およびモデリング フラグがサポートされています。

入力列のコンテンツの種類

Continuous、Cyclical、Discrete、Discretized、Key、Table、Ordered

予測可能列のコンテンツの種類

Continuous、Cyclical、Discrete、Discretized、Table、Ordered

モデリング フラグ

MODEL_EXISTENCE_ONLY と NOT NULL

すべての Microsoft アルゴリズムでは、共通の関数セットがサポートされています。ただし、Microsoft クラスタリング アルゴリズムでは、次の表のような追加の関数がサポートされています。

Cluster

PredictCaseLikelihood

ClusterProbability

PredictNodeId

IsDescendant

PredictProbability

IsInNode

PredictStdev

PredictAdjustedProbability

PredictSupport

PredictAssociation

PredictVariance

PredictHistogram

 

すべての Microsoft アルゴリズムに共通の関数の一覧については、「データ マイニング アルゴリズム」を参照してください。これらの関数の使用方法については、「データ マイニング拡張機能 (DMX) 関数リファレンス」を参照してください。

Microsoft クラスタリング アルゴリズムでは、Predictive Model Markup Language (PMML) を使用したマイニング モデルの作成がサポートされています。

Microsoft クラスタリング アルゴリズムでは、結果として得られるマイニング モデルのパフォーマンスおよび精度に影響を与えるいくつかのパラメータがサポートされています。次の表では、各パラメータについて説明します。

パラメータ 説明

CLUSTERING_METHOD

アルゴリズムで使用するクラスタリング手法を指定します。使用可能なクラスタリング手法は、スケーラブル EM (1)、非スケーラブル EM (2)、スケーラブル K-Means (3)、および非スケーラブル K-Means (4) です。

既定値は 1 です。

CLUSTER_COUNT

アルゴリズムによって作成されるクラスタの概数を指定します。その数のクラスタをデータから作成できない場合、アルゴリズムでは可能な限り多数のクラスタが作成されます。CLUSTER_COUNT を 0 に設定すると、アルゴリズムではヒューリスティックを使用して、作成するクラスタの数が最適に決定されます。

既定値は 10 です。

CLUSTER_SEED

モデル作成の初期段階にクラスタをランダムに生成するために使用するシード数を指定します。

既定値は 0 です。

MINIMUM_SUPPORT

各クラスタのケースの最小数を指定します。

既定値は 1 です。

MODELLING_CARDINALITY

クラスタリング処理中に作成するサンプル モデルの数を指定します。

既定値は 10 です。

STOPPING_TOLERANCE

収束に到達し、アルゴリズムによるモデルの作成が完了する時点を決定するための値を指定します。収束に到達するのは、クラスタの確率の全体的な変化が、モデルのサイズで除算された STOPPING_TOLERANCE パラメータの比率未満のときです。

既定値は 10 です。

SAMPLE_SIZE

CLUSTERING_METHOD パラメータをスケーラブルなクラスタリング手法のいずれかに設定する場合に、アルゴリズムにより各パスで使用されるケースの数を指定します。SAMPLE_SIZE パラメータを 0 に設定すると、データセット全体が単一のパスでクラスタ化されます。これにより、メモリおよびパフォーマンスに関する問題が発生する可能性があります。

既定値は 50000 です。

MAXIMUM_INPUT_ATTRIBUTES

選択した機能を呼び出す前にアルゴリズムが処理できる入力属性の最大数を指定します。この値を 0 に設定した場合、属性数の上限はありません。

既定値は 255 です。

MAXIMUM_STATES

アルゴリズムによってサポートされる属性状態の最大数を指定します。属性の状態の数が状態の最大数よりも大きい場合、アルゴリズムでは属性の最も一般的な状態が使用され、残りの状態は無視されます。

既定値は 100 です。

参照

概念

データ マイニング アルゴリズム
データ マイニング ウィザード
データ マイニングでの機能の選択
データ マイニング ツールの使用
Microsoft クラスタ ビューアを使用したマイニング モデルの表示

その他の技術情報

CREATE MINING MODEL (DMX)

ヘルプおよび情報

SQL Server 2005 の参考資料の入手