K-means法のクラスタ数を機械的に決定する方法K-means法(K平均法)を用いてクラスタリングする場合は、あらかじめクラスタ数を指定する必要があります。このときのクラスタ数をどのように決めてよいか迷ったことはないでしょうか。ここでは、K-means法のクラスタ数を機械的に決定する方法をお伝えします。K-means法のクラスタ数を機械的に決定するために用いるのが、Gap統計量です。Gap統計量を用いたクラスタ数の決定のアイディアを簡単にご紹介すると、クラスタ数1、2、・・・と順に、一様分布から作成されたクラスタ内の距離の平均と元データのクラスタ内の距離の平均とを比べて、より密集しているクラスタ数を採用するという方法になります。statisticをご参照ください。ここからは、Rを用いて具体的に見ていきます。clusterパッケージの読み込みと、ご説明するためのサンプルデータを作成します。意図的に3つのクラスタができるようにデータを作成しました。sample3)plot(sample)このデータに対して、Gap統計量を求めてみます。Gap統計量を求めるためには、clusGap関数を用います。下のコードのclusGap関数の引数は、次のような意味です。処理が終わったら、結果の中身を見てみます。SE.sim(k+1)となる最小のkです。clusGap関数の結果をみると、k=3であることが分かります。このclusGap関数は、グラフ化することも容易で、グラフから読み解くこともできます。plot(result)このグラフから、求めるクラスタ数はk=3であることが分かる。blogコメントは受け付けていません。WordPress.ホームサービス事業概要ブログサイトマップお問い合わせ。