3.3 階層的クラスタリング
「3.3.2 フィード中の単語を数える」は省略。
tmパッケージあたりを使えば良さそうですが。
Rを使ったテキストマイニングについていえば、近々本も出版されるみたいです。
- 作者: 石田基広
- 出版社/メーカー: 森北出版
- 発売日: 2008/12/16
- メディア: 単行本(ソフトカバー)
- 購入: 26人 クリック: 342回
- この商品を含むブログ (34件) を見る
それと個人的には「階層*型*クラスタリング」の方がなじみのある訳語なので、ここではそう書きます。
まずはブログのデータを抽出したデータセットをダウンロードしてきます。
http://kiwitobes.com/clusters/blogdata.txt
このblogdata.txtをRのワーキングディレクトリに入れます。
このデータセットはタブ区切りなのでread.delim関数でそのまま読めます。
blogdata <- read.delim("blogdata.txt") ncol(blogdata) # [1] 707 nrow(blogdata) # [1] 99
このデータセットのサイズは99行(ブログの数)×707列(単語の数)ということです。
続けて、ピアソンの積率相関係数に基づいてブログ間の距離(非類似度)行列を算出します。
1列目にはブログ名が入っているのでこれは除きます。
# データセットを転置する blogdata2 <- (t(blogdata[,-1])) colnames(blogdata2) <- blogdata[,1] # 距離行列を算出する blog.dist <- as.dist(1-cor(blogdata2))
そして、クラスタリングします。本文を読む限り、群平均法を採用しているようです。
blog.hc <- hclust(blog.dist, "average")