www.crosshyou.infoの続きです。
今回は、R言語のkmeans関数でクラスタリング分析をしてみます。
Machine Learning with R: Expert techniques for predictive modeling, 3rd Edition (English Edition)
- 作者:Lantz, Brett
- 発売日: 2019/04/15
- メディア: Kindle版
この本を参考にしました。
はじめに、クラスタリングに必要な変数だけのデータフレームを作成します。
それぞれの変数のスケール(値の大きさの範囲)がバラバラなので、標準化します。
今回は、min-max法で標準化しました。
apply関数とmin関数で最小値を取得し、apply関数とmax関数で最大値を取得します。
そして、scale関数で標準化します。summary関数で確認しました。3つの変数とも最小値が0, 最大値が1に標準化されています。
それでは、kmeans関数でクラスタリングします。k=3でやってみます。
kmeans関数は、kmeans(データフレーム or マトリックス, k)の構文です。
$clusterにクラスター分けされたIDが入っています。
plot関数とtext関数で視覚化します。
jitter関数で都道府県の文字を上下にずらしています。
北海道、三重、島根、大分が一つのクラスター、
秋田、岐阜、滋賀、大阪、兵庫、和歌山、鳥取、広島、山口、徳島、愛媛、高知、長崎、熊本が一つのクラスター、
その他が一つのクラスターです。
北海道、三重、島根、大分は1飼養家当りの牛の数が多い都道府県でしたね。
こんどは、k=6でやってみましょう。
kmeans関数で6に変えればいいだけです。
同じようにplot関数とtext関数で視覚化します。
三重県は一つだけのクラスターになりました。大阪と和歌山でクラスターになっています。
k=2でもやってみましょう。
今回はcol = df$k2_clusterとして赤と黒で色分けもしました。
以上、R言語のkmeans関数でクラスタリング分析でした。