y_uti のブログ

統計、機械学習、自然言語処理などに興味を持つエンジニアの技術ブログです

Rand Index のデモ

先日、Rand Index によるクラスタリング間の距離の計算について記事を書きましたが、D3.js を使ったデモページを作成してみました。
Rand Index のデモ

f:id:y_uti:20140216073642p:plain

画面の左右に表示される二枚の日本地図は、それぞれ独立に k-means でクラスタリングして色分けされています*1。その結果から計算した Rand Index と Adjusted Rand Index が画面下部に表示されます。クラスタ数を 2 から 6 の範囲で選択して、再計算のボタンを押すと、設定されたクラスタ数で k-means を再実行します。

地図上の都道府県にマウスカーソルを重ねると、両側のクラスタリング結果を比較して、以下の条件に合致する都道府県がハイライトされます。

  1. マウスカーソルが置かれている都道府県
  2. マウスカーソルが置かれている都道府県と、左右いずれかでは同一クラスタ (同色) で、もう一方では異なるクラスタ (異なる色) に分類されている都道府県*2

画面の例では、東京都にマウスカーソルを重ねています。東京都は、左の図では青、右の図では緑に分類されています。石川県、岐阜県、愛知県は、左の図では東京都と同色 (青)、右の図では東京都と異なる色 (赤) に分類されているため、ハイライト表示されます。また、山形県は、左の図では東京都と異なる色 (緑)、右の図では東京都と同色 (緑) に分類されているため、これもハイライト表示されます。

*1:先日の記事では国土地理院のウェブページのデータを利用しましたが、Natural Earth のデータにも各都道府県の緯度経度が含まれていましたので、今回はそれを利用しました。ただし、この座標が各都道府県の何の座標なのかは未調査です。

*2:先日の記事で「○ ×」または「× ○」に該当する都道府県です。