[R] ATNDのイベントをMDSで可視化してみた

ATNDに、イベント検索APIというのがあったので、2010年に行われたイベント情報を取ってきて、MDSで可視化してみた。

多次元尺度法(MDS)

個体間の親近性データを2次元あるいは3次元空間に類似したものを近く、そうでないものを遠くに配置する方法

データの取得

以下の条件で取ってきた

  • 2010に行われたイベント(月に100件まで)
  • そのイベントに参加したユーザIDリスト(100人まで)

イベント名で描画

参加ユーザを特徴量として、距離行列を作成して二次元空間に配置する。
とりあえず、イベント名で描画。

atnd.events <- read.csv("./atnd_event.csv",encoding="utf8")
atnd.events.dist <- dist(atnd.events[,-1])
atnd.events.cmd <- cmdscale(atnd.events.dist)
atnd.events.lab <- as.character(atnd.events[,1])
par(family="Osaka")
plot(atnd.events.cmd, type="n")
text(atnd.events.cmd,labels=atnd.events.lab)

かなり右下に偏った結果になった。
左下きれちゃってるけど、「DeNA TechnologySeminar」とか「Python-Hack-a-thon」、右上が「SibuyaPerlMongersテクニカル〜」とか、「WDEex-Vol10『Web〜」とかが、他のイベントとちょっと違った層が参加している、または、規模が違うのどちらかだと思われる。名前からして、後者かな。

数字で描画

このままでは見にくいので数字で描画し直す

plot(atnd.events.cmd, type="n")
text(atnd.events.cmd,labels=as.character(c(1:nrow(atnd.events))))


ざーと、眺めて、自分に関係ありそうなものだけ色を変えてみた

...
                                                    
[195] "R勉強会@東京"         
[196] "データマイニング+WEB勉強会@東京"  

...
           
[349] PRML復習レーン 

...

[398] "Hadoopソースコードリーディング" 

...

[718] "自然言語処理勉強会@東京" 

...

[888] Japan.R&Rユーザー会交流会2010 

...
atnd.events.col <- rep("green", nrow(atnd.events))
atnd.events.col[c(195,196,349,398,718,888)] <- "red"

plot(atnd.events.cmd, type="n")
text(atnd.events.cmd,labels=as.character(c(1:nrow(atnd.events))), col=atnd.events.col)

あれ、398(Hadoopソースコードリーディング)と、718(自然言語処理勉強会@東京)がかすかにしか確認出来ない


座標値を確認

> atnd.events.cmd[c(195,196,349,398,718,888),]
atnd.events.cmd[c(195,196,349,398,718,888),]
            [,1]        [,2]
[1,]  0.04448011 -0.04397225 # TokyoR
[2,]  0.04448011 -0.04397225 # TokyoWebmining
[3,]  0.04448011 -0.04397225 # PRML復習レーン
[4,] -0.52380728  0.34833522 # Hadoopソースコードリーディング
[5,] -0.06795103  0.04443922 # TokyoNLP
[6,]  0.04645629 -0.04770675 # JapanR

TokyoR、TokyoWebmining、PRML復習レーンが全く同じ位置に配置されてる。。。
全体で見ると、同じような人しか参加していない疑惑が・・・!!

まとめ

  • MDSをつかってATNDのイベントを可視化してみました
  • 結果、何となく、似たようなイベントが近く、そうでないようなものが遠くに配置出来たような気がします。
    • 全然ちゃんと考察してないです