科学の箱

科学・IT・登山の話題

R 機械学習

クラスタリング

投稿日:

Rによるクラスタ分析の実行

県別の持家率と自家用車普及率からクラスタ分析を実行し似た県を探してみる。。

データソース

  • 持家と自家用車普及率のデータは下記から取得する
  • 持家普及率のデータはこちらから取得した。
  • 自動車普及率は同じサイトのこちらからである。

csv

データをcsvにまとめる。

pref,home,car
愛知県,.5784,.513
愛媛県,.6561,.474
茨城県,.7073,.66
岡山県,.6653,.644
沖縄県,.5016,.417
岩手県,.7194,.603
岐阜県,.7386,.673

データ読み込み

csvデータをRに読み込む

> data <- read.csv("data.csv", row.names=1)
> head(data)
         home   car
愛知県 0.5784 0.513
愛媛県 0.6561 0.474
茨城県 0.7073 0.660
岡山県 0.6653 0.644
沖縄県 0.5016 0.417
岩手県 0.7194 0.603

Rで読み込む際に県データを行名にする(row.names=1)。これによりクラスタリング実行時に各データが県で表示される。実施しないと行番号になるために識別が難しい。

距離計算

各要素の距離をdist()でもとめる。

> data.d <- dist(data)
 警告メッセージ: 
In dist(data) :  強制変換により NA が生成されました 
> data.d
             1           2           3           4           5           6
2  0.106477392                                                            
3  0.239450026 0.236275602                                                
4  0.192532893 0.208511295 0.055045436                                    
5  0.150570117 0.201690047 0.389925935 0.342768194                        
6  0.204869471 0.175988167 0.071366063 0.083136725 0.350783780            
7  0.277301388 0.263838729 0.041509457 0.096544472 0.427267481 0.088898594
8  0.167743375 0.182549486 0.073548861 0.026526119 0.318260648 0.076762882
9  0.040435319 0.066066330 0.231480021 0.190816666 0.164813030 0.186383516
10 0.331404941 0.287860800 0.523893348 0.494951149 0.248554451 0.460474576
11 0.101566431 0.112600688 0.140496388 0.100535740 0.250692920 0.104505694
12 0.298463465 0.307669002 0.073485611 0.106171253 0.448327157 0.144097675
13 0.111718016 0.078471269 0.307412524 0.272627328 0.135272004 0.251795780
14 0.206386773 0.189205801 0.050280364 0.062086351 0.354932754 0.023108440
15 0.109499041 0.051042482 0.185241397 0.159246272 0.235684450 0.125997381
16 0.222379271 0.224989633 0.019219131 0.035838178 0.372947262 0.070447427
17 0.294935374 0.232734527 0.465298872 0.441169627 0.246720561 0.399092564
18 0.261973043 0.249639059 0.028109429 0.082823547 0.411940329 0.075808146
19 0.318428862 0.306533090 0.079299275 0.131967326 0.468741784 0.131077229

クラスタ分析の実行

クラスタ計算をする。

> data.hc <- hclust(data.d)

デンドログラム

デンドログラムを描く

> plot(data.hc)


clustering

メタ情報

inarticle



メタ情報

inarticle



-R, 機械学習
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

factorと数値型の変換

ジニ係数にファクターと数値変換についてコメントをいただいたので調べてみた。 その結果以下の3つのことがわかった。 read.csvで桁区切り文字つきの値を読み込むとfactorになる。 区切り文字つき …

no image

logistic regressionでの失敗

ロジスティック回帰でデータを分析しようとしたところうまくいかず。どうにもこうにもおかしな値が出るし、他の回帰分析との結果と明らか矛盾している。よくわからないのでとりあえずirisデータを使って手順を追 …

no image

Rによるやさしい統計学/3-2つの変数の記述統計

散布図を作成 Rで散布図を作成する。データはrunifで10個ずつ作成する。データのレンジは50~100. x_test <- as.integer(runif(10, 50, 100)) y_ …

no image

因子分析

因子分析とは 因子分析では複雑な現象を単純な要因で理解するための手法。集められた個別のデータは結果である目的変数とその目的変数の原因である説明変数に分かれる。目的変数を観察できた結果とし、目的変数に影 …

no image

線形回帰と最急降下法

線形回帰 世の中の様々な出来事(y)はある事象(x)に対して比例することが多い。もちろん厳密に比例するわけではなくずれは生じる。しかしこのxとyが比例すると仮定した場合、中学校で習った一次式でこの関係 …

2014年1月
« 12月   2月 »
 12345
6789101112
13141516171819
20212223242526
2728293031  

side bar top



アーカイブ

カテゴリー