「クラスター分析」ってどうやるの?クラスター分析のやり方、具体的な3つのステップはこちらです

クラスター分析 やり方 クラスタリング アルゴリズム 階層的アルゴリズム 2 アルゴリズム

前回は、「クラスター分析」で使う素性ベクトルの(特にテキストマイニングの分野で)定番であるTF-IDF法をまとめました。

第6回『テキストマイニングの「クラスター分析」などで使われる、知らないと恥ずかしい「素性ベクトル作成の定番的方法」とは?

 

 

クラスター分析ってなんだっけ?って方は、本連載の第1回をどうぞ↓

第1回『「クラスター分析」とは?膨大な情報の内容を、ラク〜にサクッと理解したいあなたはこちらをどうぞ

 

 

 

今回は、これまで説明してきた素性ベクトルをつかっての「クラスター分析のやり方」をまとめたいと思います。

まずは、クラスター分析がどのようなものかざっくり説明しますね。

 

 

 

本記事の概要

クラスター分析には、2種類の使い方がある

データ分析を行うときには、まず最初に「データの特徴を知る」のが大事です。

  • データはどんな分布なのか
  • 外れ値はないか
  • 欠損値はないか

のようなデータの特徴を知ることで、

そのあと、どうデータ分析するのかについて、ヒントが得られます。

 

このように、本番のデータ分析の前に、データがどんな特徴を持っているかを調べるためにクラスター分析が重宝するわけです。

 

クラスター分析には、(他の手法と違って)データさえあれば実行できるというメリットがあります。

なので、何処の馬の骨かわからないようなデータも、とりあえずクラスター分析してみて、データの傾向や特徴を見てみる、といった使い方をすることがあるわけです。

 

ちなみに、このようなデータ分析を「探索的データ分析」と呼びます。

 

なにものか分からないデータをとりあえず探索してみて、適切な手法の当たりをつけるための分析、のような意味合いです。

 

なので、クラスター分析には、

①、クラスター分析をしたくてやる場合

②、データの「特徴把握」や、データ分析の「手法選択」のために、当たりをつけるため行う(探索的データ分析)

の2種類が(おおざっぱには)あります。

 

 

 

 

 

 

クラスター分析のやり方はこんな感じです

そもそも、なぜ、クラスター分析をするの?

クラスター分析の目的は、目の前にある雑然としたデータを、スッキリ整理整頓することです。似たもの同士をグループ分けして塊にすることで、データの全体像がつかみやすくなります。

というわけで、クラスター分析には、各データ同士の似ている・似ていないの評価が必要です。

この似ている・似ていないを数値化したものを「類似度」と呼びます。

この類似度をもとに、似ているものを同じグループにまとめていくわけです。

 

クラスター分析で必須の「類似度」は、どう求めるの?

では、類似度はどうやって決めるかというと、

あるデータXと、データYの特徴をそれぞれベクトルで表現して、ベクトル同士の計算を行うことで算出したりします。

たとえば、テキストマイニングでのクラスター分析などでよく使われる「コサイン類似度」はその1つです。(詳しくは次回説明しますね)

 

類似度にはコサイン類似度だけでなく、他にもたくさんあり、データの特徴や、やりたいデータ分析手法に応じて、適切なものを選ぶ必要があります。

(どんな類似度があるの?それぞれどんな使い方をするの?などは今後まとめる予定です)

 

 

以上から、クラスター分析のやり方は、

①、各データの特徴をベクトルで表現する(「素性ベクトル」または「特徴ベクトル」)

②、素性ベクトルを使って、類似度を計算する

③、類似度に基づいて、似ているもの・似ていないものを分類・整理する

という感じになります。

 

①の素性ベクトルの作り方やテクニックなどは、これまでの連載でまとめてきました。(過去記事は下にございます)

 

②の類似度の計算は、ベクトルの演算の知識が必要で、高校数学で習いますので、忘れちゃったって方は復習してみてください↓

「ベクトル」を学びたい・復習したい方にチェックしてほしい良書、10冊はこちらです

 

③ですが、じつはひと言で「クラスター分析」といっても、類似度からグルーピング(分類・整理)するやり方には、様々なものがあります。おおざっぱにいうと、以下の2つの考え方があります。

  • データ全体を1つのクラスターと考えて、どんどん分割していくやり方
  • データ1つ1つをクラスターと考えて、どんどん合併させていくやり方

のように真逆の考え方があります。どちらもデータを階層的に分けていくので、「階層的クラスター分析」または「階層的クラスタリング」と呼ばれます。

 

クラスター分析の結果は、図示するとわかりやすいんですが、どちらの階層的クラスタリングでも、結果は「樹形図(デンドログラム)」で可視化することができます。

 

 

 

 

 

 

 

ちなみに、

 

階層的があるなら、階層的でないクラスター分析もあるの?

 

と思われた方もおられるかもしれません。

 

その通りです。

 

非階層的クラスター分析」という手法もあります(k-means法など)。

これは階層的クラスタリングよりも計算量が少ないので、大きいデータに使えるメリットがあります。

他にも、

「確率モデル」

を使ったクラスター分析もありますし、

データを「グラフ」と捉えて、大きなグラフを小さなグラフに分割する、というクラスター分析もあり、

スペクトラルクラスタリング

と呼ばれています。

また、k-means法の親戚である、

「Fuzzy(ファジー)c-means法」

といった方法もあります。

ファジーというのは、”あいまい”という意味ですが、

k-means法との違いは、k-means法では各データはどれか1つのクラスターにのみ所属しますが、

Fuzzy c-means法では、必ずしも1つでなく、複数のクラスターに所属してもよいというクラスター分析手法になっています。

クラスターへの所属があいまいなところからファジークラスタリングと呼ばれているわけです。

このように、クラスター分析といっても、多くの分析手法が存在しています。

 

 

え?じゃあどれを使ったらいいの?

 

 

って思われるかとおもいますが、それぞれの手法には長所・短所の特徴がありますので、それを踏まえて最適なものを選ぶことが重要です。

本連載では、今後それぞれの手法を詳しく説明していく予定です。

 

 

 

 

 

 

というわけで今回は「クラスター分析のやり方」を簡単に説明しました。

データの特徴をベクトルで表現して、類似度を求める。類似度を使って分類・整理する、ということを学びました。

また、クラスター分析といってもいろいろな手法があり、、階層的・非階層的、確率モデルを使ったやり方など、さまざまなものがあることをご紹介しました。

これらの手法の詳細は、今後くわしく説明していきたいと思います↓

第8回『「距離行列」とは?データ分析手法全般でよく使う「類似度」について学びたいあなたはこちらをどうぞ

 

 

 

過去記事はこちらです↓

第6回『テキストマイニングの「クラスター分析」などで使われる、知らないと恥ずかしい「素性ベクトル作成の定番的方法」とは?

第5回『テキストマイニングなどの「クラスター分析」で必要な「素性ベクトル」を洗練する2つのテクニックとは?

第4回『テキストマイニングなどのクラスター分析で必要な「素性ベクトル」をつくりたいあなたが知らないと損をする必須のテクニックとは?

第3回『テキストマイニングなどのクラスター分析でも重要な「素性ベクトル」を作るための3つのステップとは?

第2回『テキストマイニングの「クラスター分析」でも必要な「素性ベクトル」とは?なぜ必要なの?

第1回『「クラスター分析」とは?膨大な情報の内容を、ラク〜にサクッと理解したいあなたはこちらをどうぞ

 

本連載では、クラスター分析について定期的に更新しています。

Twitterなどフォローしてもらえると、更新情報が届くので便利です!

 

 

 

 

 

こちらもございます↓

 

↓こちら無料で読めます

 

 

 

こちらの記事もございます

『「テキストマイニング」の記事まとめはこちらです

 

「多変量解析」の記事まとめはこちらです

 

「機械学習」に入門したいあなたにチェックしてほしい良書、10冊はこちらです

 

『「データマイニング」を勉強したいあなたにチェックしてほしい良書、10冊はこちらです』

 

「エクセル」で「データ分析」できるようになりたいあなたにチェックしてほしい良書10冊はこちらです

 

「データ分析」を活用したい!けど分からないことだらけの方、その悩みを解決する良書10冊はこちらです

 

「アンケート調査」をしたいあなたにチェックしてほしい良書、8冊はこちらです