技術メモ(仮)

IT系の話や研究,他のことなど話して行けたらいいな~って感じです.ただいまJavaを学習中

クラスタリングとは?

今日は研究とかに使う手法の話をしようと思います.
今日はクラスタリングという手法について説明します.

クラスタリングとは?

あるデータの集合を共通の特徴を持つ部分集合ごとに分ける処理.
またはデータを類似度に従いグループに分けることと言ったほうがわかりやすいかな?

例えばあるデータの集合をTwitterのTweets10件とする.
その10件の中には沢山のユーザがいろんなことをつぶやいている.
例えばIT系のことつぶやく人もいれば美容のことをつぶやく人もいる.またスポーツのことをつぶやく人もいる.
これをIT系,ネイルサロンごとにユーザの集合に分けるような処理のこと(以下図参照).

f:id:fuji_151a:20131215212700p:plain

主なクラスタリング手法の種類

クラスタリングの手法は以下の2つの観点から分類される.

階層的クラスタリング

最も似ている2つのグループをまとめることを繰り返しグループの階層を作る.

  • 最も近いグループをまとめる
  • グループがなくなるまで行う

最終的に木構造のデンドログラムが完成する.

非階層的クラスタリング

階層的じゃないクラスタリング.だから最終的には木構造のデンドログラムにならない.
データの数が多いと階層的でクラスタリングした時にわけがわからないよ状態になる.
そんな時こそ非階層的クラスタリング
あと特徴で予め作成するクラスタの数を決める必要がある.

ハードクラスタリング

1つ要素は1つクラスタにのみ属するクラスタリング
一般的クラスタリングと言えばこっちを指すと思う.

ソフトクラスタリング

1つの要素が1つ以上のクラスタに属するクラスタリング

それぞれの観点により手法が異なる.
以下にの表に手法の種類をまとめる.
f:id:fuji_151a:20131215220752p:plain
自分でも調べてビックリ!こんなにあったのか...
k-meansとかウォード法とかしか知らねぇ~

まとめ

クラスタリングとはあるデータの集合を共通の特徴を持つ部分集合ごとに分ける処理.
またはデータを類似度に従いグループに分けること.
主に以下の観点に分けられる.

クラスタリングはユーザの分類とかデータ解析の際よく使われる.(Recommendとかでも使われているのかな)
あと昨今流行りのデータサイエンティストでこれを知らない人はいないはず...
何かのデータを分類したいときは是非利用してください.

以上