注目の投稿

【kepler.gl】コロナ対策による人流の変化も地図上に可視化(各種メディアで報道)

kepler.glのサイト画面 kepler.glを使ってコロナ対策の効果を分析したところ、テレビ、新聞、ネットのメディアから問い合わせや報道依頼が殺到。今も、土日返上で都内や全国の人流変化を分析しています。この記事では人流変化の可視化に便利なkepler.glにつ...

2016年8月31日水曜日

【R】k-meansで統計的に適切なクラスタ数を選択する(Gap統計量:clusGap)

目的:統計的に適切なクラスタ数を指定してk-meansをおこないたい
方法:clusGap(data, kmeans, k.max = 10, B = 10, verbose = interactive())
補足:library(cluster)が必要

dataはデータ、kmeansはk-means、K.maxはクラスタ数の最大値、Bはブートストラップ回数*

*ブートストラップ回数とは
https://ja.wikipedia.org/wiki/%E3%83%96%E3%83%BC%E3%83%88%E3%82%B9%E3%83%88%E3%83%A9%E3%83%83%E3%83%97%E6%B3%95

> result_gap <- clusGap(df.sample_data, kmeans, K.max = 80, B = 1000, verbose = interactive())
Clustering k = 1,2,..., K.max (= 80): .. done
Bootstrapping, b = 1,2,..., B (= 1000)  [one "." per sample]:
.................................................. 50 
.................................................. 100 
.................................................. 150 
.................................................. 200 
.................................................. 250 
.................................................. 300 
.................................................. 350 
.................................................. 400 
.................................................. 450 
.................................................. 500 
.................................................. 550 
.................................................. 600 
.................................................. 650 
.................................................. 700 
.................................................. 750 
.................................................. 800 
.................................................. 850 
.................................................. 900 
.................................................. 950 
.................................................. 1000 
> plot(result_gap)

下記はサンプルデータの結果

上の結果だと、20付近まで数値が右肩上がりに上昇しているが、それ以降は比較的停滞傾向にある。そのため、クラスタ数は20で良いと考えられる。


◆参考サイト
R K-means法のクラスタ数を機械的に決定する方法
http://www.trifields.jp/how-to-decide-number-of-clusters-in-r-1677

0 件のコメント :

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。