2017-05-23 1 views
0

私はエルボー法を使って、シルエットで、データから最適な数のk個のクラスターを見つけようとしています。現在、ほとんどのパッケージでは、wss(類似点数内)またはシルエットを考慮すれば、PAM、Kmeans、クララで3を与えます。ヒューバートの分析では理想的に2つのクラスターになっています。奇妙なことだけが私には私に少し混乱させるプロットを与える以下のコマンドです。私はそれを3つのクラスターまたは4と見なすべきです。もし誰かが私にここでいくつかのフィードバックを与えることができます。それはクラスタの数を定義するためのプロットで考慮されるべき膝か肘ですか?

コードは、私もそれがここにクラスタ番号でなければなりません3または4だ場合は、1つは私に言うことができるように画像を置くしようとしています

wss <- (nrow(scale(df))-1)*sum(apply(scale(df),2,var)) 
    for (i in 2:10) wss[i] <- sum(kmeans(scale(df), 
                       centers=i)$withinss) 
fviz_nbclust(scale(df), kmeans, method = "wss") 

を使用しました。理想的には、私はWSSの全ポイントがSSEが多かれ少なかれ平等な場所にあるkを選ぶことなので、4にすべきだと思います。

enter image description here

+0

これはa *ヒューリスティック*であり、実際の解決策は2であることを忘れないでください。または、または42. –

+0

2と5はm現実的な鉱石であるが、42は反復プロセスでkを任意にクラスタリングするものである。毎回見る。私は反復kを使うアプローチがむしろ、行スケーリングに基づいてデータに最適なkを見つけるアプローチを使用したいと思っています。なぜなら、私は最終出力の行を減らしてから、いくつかのランキング手法を使いたいからです。それが32になると私はどのように言うことができますか? –

+0

"最適な" kはありません(井戸、k = NはSSE 0では最適ですが、無用です)。ヒューリスティックのみが存在します。 –

答えて

1

基本的な考え方は、「二乗の和の中で」低いが(エラーの面で)良いモデルの信号があるということです。しかし、クラスタが多いほど、この二乗誤差の和(SSE)の値は低くなります。

簡単に言えば、「SSEが減少している(クラスターの数が多い)速度が遅くなっていることがわかると、クラスターの数を固定するのが良い点です」。

4.

も見た後SSEの下落が鈍化しているためそのため、それは、数であなたのケースでは、です:herehere on SO

Wikipediaでありhere

+0

あなたの答えをありがとう。 PAM、CLARA、またはkmeansを使ったシルエットとwssメソッドが私に3つの最適なksを与えていると主張して以来、私は少し混乱していました。これはkmeans用のwssを使った私のプロットですが、私は4を提供していましたが、3または4の場合はちょっと混乱しました。また、ユークリッドのdistとcompleteとward.D2を使ってhubertの大多数のルールを使用したとき、kmeansは3だから私はこのプロットの2番目の意見を欲しかった。それは4だったし、それはSSEが低下したり減速して4になるようなポイントになるはずだ。ありがとう、私は受け入れるだろう。 –

+1

私の喜びは、私が助けることができてうれしいです。興味があれば、ウィキペディアの記事へのリンクを追加しました。 – KoenV

+0

ありがとうございました。感謝します。 :) –

関連する問題