Rで何かをしたり、読書をするブログ

政府統計の総合窓口のデータや、OECDやUCIやのデータを使って、Rの練習をしています。ときどき、読書記録も載せています。

都道府県別の経済構造実態調査のデータの分析4 - R言語でhierarchial clusteringとk-means clusteringを実行する。

UnsplashSebastian Unrauが撮影した写真 

www.crosshyou.info

前回はデータフレームを大きい順、小さい順に並び替えました。東京都や大阪府などが値が大きくて、奈良県などが値が小さかったです。

そこで今回は、R言語でクラスタリングを実行してみたいと思います。

まずは、hierarchial(階層的)クラスタリングを実行してみます。

dist()関数を使って、各都道府県の距離を算出します。

hclust()関数でクラスタリングを実行します。

plot()関数で結果の樹状図を描きます。

Tokyoが左上にポツンとあります。東京都は他の府道県とは大きく異なることを示唆しています。

この樹状図をもとに、4つのグループに分けてみましょう。

イメージは上のような4つのグループです。cutree関数でグループ分けできます。

Tokyoは4に、Aichi, Miyagi, Osakaは1に分類されています。

散布図でグループ分けの成果を見てみましょう。

まず、sdとcvの散布図です。

同じグループ同士で固まっているのがわかります。

meanとcvの散布図を描いてみます。

同じように4つのグループ分けがうまく動いています。

meanとmaxの散布図はどうでしょうか?

こちらもきれいにグループ分けできていますね。

meanとmedianを見てみましょう。

これも同じようですね。

こんどは、k-means clusteringを実行しましょう。k-means clusteringはあらかじめ何個のグループに分けるかを指定する必要があります。今回はhierarchial clusteringで4つに分けてみましたので、k-meansでも4つにわけてみます。

結果をみてみます。$cluster でわかります。

散布図で表示してみましょう。hierarchial clusteringの散布図と並べて表示してみます。

hierarchialではAichi, Miyagi, Osakaだったグループにk-meansではHiroshima, Fukuokaが加わっていることがわかります。Aichi, Miyagi, Osaka, Hiroshima, Fukuokaだと各地域の中心府県という感じでなかなかいい感じにクラスタリングできていますね。

meanとsdの散布図もみてみます。

どちらの方法でもきれいにグループ分けできていることがわかりますね。

今回は以上です。

 

次回は、

www.crosshyou.info

です。

 

初めから読むには、

www.crosshyou.info

です。