K-meansクラスタリングでクラスターの数を定義する方法は?


19

最適なクラスター番号を決定する方法はありますか?または、異なる値を試してエラー率を確認して最適な値を決定する必要がありますか?


1
@berkayこの監視なしメソッドのエラー率をどのように定義しますか?(またはSS内を意味しますか?)
chl

@chl、私はすべてのクラスターまたは全体的な精度の平方誤差の合計を使用できます(この場合、クラスラベルを知っています。)
バーケイ

3
@berkay No.クラスターを見つけるための簡単なアルゴリズムは、クラスターの増加数(2で始まり、たとえば9または10で終わる)で20回のk-meansの平均WSSを計算し、このクラスターセット上の最小限のWSS。別の方法は、ギャップ統計です。しかし、すでにラベル付きインスタンスを持っている場合、なぜ教師なしの方法を試しているのですか?
chl

@chlありがとう、良い質問です。インタンスの特徴に依存するクラスターを推測できます。新しい侵入特性、法的なアプリケーションの模倣を分析しています。
バーケイ

2
私はRここで半ダースの方法で(を使用して)同様のQに答えました:stackoverflow.com/a/15376462/1036500-
ベン

回答:


8

私が使用する方法は、CCC(Cubic Clustering Criteria)を使用することです。クラスターの数を1ずつ増やしてCCCが最大になるまで探し、CCCが減少し始めるのを観察します。その時点で、(ローカル)最大でクラスターの数を取得します。これは、スクリープロットを使用して主成分の数を選択することに似ています。


SASテクニカルレポートA-108立方体クラスタリング基準(pdf

=観測値の数 n k =クラスターの数 k p =変数の数 q =クラスターの数 X = n × pデータ行列 M = q × pクラスターの平均行列 Z =クラスター指標( z i k = 1 if obs 。 Iクラスタ内の Kそうでなければ、0) n
nkk
p
q
Xn×p
Mq×p
Zzik=1ik

各変数の平均が0であると仮定します:
M = Z Z 1 Z XZZ=diag(n1,,nq)M=(ZZ)1ZX

(合計)マトリックス= T = X X S S(クラスター間)マトリックス= B =SSTXX
SSBS S(クラスター内)マトリックス= W = T BMZZM
SSWTB

(トレース=対角要素の合計)R2=1trace(W)trace(T)

列を1つの長い列に積み重ねます。X
上の退行クロネッカー積を有するP × Pの単位行列 を計算するR 2、この回帰の-同じR 2Zp×p
R2R2

CCCの考え方は、与えられたクラスターのセットで得られるR 2と、p次元空間で均一に分布したポイントのセットをクラスター化することで得られるを比較することです。R2R2p


2
CCC以外の基準もあります。見て、データセット内のクラスタの数を決定する主なものを見て、。
ビンセントラバトゥット
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.