具体例で学ぶ!クラスター分析とその種類

こんにちは!
IT企業に勤めて、約2年間でデータサイエンティストになったごぼちゃん(@XB37q)です! 

このコラムでは、クラスター分析という分析手法を紹介します。
クラスター分析は、数値系データや言語系のデータに使われる幅広い手法です。

考え方としては、数式に得意な人は理解できるレベルですが、数式が苦手な人は理解が難しい手法だと思います。
まずはイメージだけでもよいので、理解しておくことで、AIに関する話に十分ついていけると思います。

クラスター分析は、クラスタリングとも呼ばれますが、このコラムではクラスター分析という言葉を使って紹介していきます。

クラスター分析のイメージをつかむ

クラスター分析のイメージ
クラスター分析のイメージ

クラスター分析は、データから共通項を見つけ、似たようなデータを同じグループへ割り振る手法です。
例えば、購入者の購買データに対してクラスター分析を行った場合、子育て世帯や主婦層など、商品の購買傾向などが似ている購入者が、同じグループへ割り振られます。

データが多い場合、人間がデータを目で見て同じグループへ振り分けることは時間と労力が大幅にかかってしまいます。そのような場合にクラスター分析を使って、自動的に似ているデータを同じグループへ割り振ることが可能です。

また、データを振り分ける場合は大きな問題が存在します。それは、どのような観点で似ているかと判断するかといった問題です。例えば、AとBが似ていると感じる人もいれば、AとBは似ていないと感じる人もいます。この問題は、AIでも同様です。
似ているという観点は複数存在するため、データが少しでも違う場合は、分析結果が変わってしまいます。

また、クラスター分析は同じグループへ振り分けるだけの手法です。
そのため、割り振ったグループがそれぞれどのようなグループなのかは、分析者は分析結果を活用したい人が決めてあげる必要があります。
例えば、上の例では、クラスター分析を使った後、2つのグループができ、そのグループに各顧客が割り振られているという結果のみが出力されます。
そのため、各グループの年代や性別、購入している商品などを確認し、グループ1は、おむつや洗濯洗剤など育児・家事に必要な商品を購入しているため、子育て世代や主婦層のグループと解釈することが必要になります。

クラスター分析の使い方を知る

数値系データ言語系データ
学生のテストの点数に対して、同じ傾向の点数を取っている学生を同じグループへ振り分ける新聞の記事データに対して、似たような分野が記載されている記事を同じグループへ振り分ける
動物の特性(身長や体重など)データに対して、同じ種類の動物を同じグループへ振り分ける論文のデータに対して、似たような分野が記載されている論文を同じグループへ振り分ける
顧客の購買データから、顧客を複数のグループへ分けることで、顧客別にマーケティングを検討する特許データを、複数のグループへ分けることで、似たような特許が存在するかを判断する
データに合わせたクラスター分析の使い方

クラスター分析は、数値系データや言語系のデータに使われる幅広い手法です。
今回は、それぞれのデータに合わせて使い方を紹介します。

  • 数値系データ

テストの点数データをクラスター分析することで、「算数が得意なグループ」「国語が得意なグループ」などのグループへ区別することができる

工場の生産品データをクラスター分析することで、その生産品が「正常品」「不良品」のグループへ区別することができる

  • 言語系データ

コールセンターの問い合わせデータをクラスター分析することで、どのような問い合わせが多いかを判断する

アンケートデータをクラスター分析することで、どのようなコメントが多いかを判断する

クラスター分析の考え方を知る ~数値系データの場合~

数値系のクラスター分析のイメージ
数値系のクラスター分析のイメージ

この章では、クラスター分析の考え方を紹介します。
クラスター分析は、データとデータの距離を計算し、その距離を似ている度合いとして定義しています。
似ている度合いをどのように定義するかは一概に正解がないため、データとデータの距離にも一概に正解はありません。
なぜならば、距離の測り方はたくさん存在するからです。

この章では1番基本的であり、簡単な距離の測り方を紹介します。
それは「ユークリッド距離」という指標です。

まず大前提としてコンピュータは数値しか扱うことができないため、前の章で上げた購買データの場合、性別(男性、女性)や商品(おむつやカミソリなど)はそのままでは扱うことができません。
そのため、男性なら男性という項目に1、女性の項目に0などの値にデータを変換し、数値データとします。
そして、あとはデータごとに横で数字を足していくだけです。ここで「ユークリッド距離」の場合は、下記の式になります。

  • No.1とNo.2の距離:(No.1の男性の値 – No.2の男性の値)^2 + (No.1の女性の値 – No.2の女性の値)^2 + ・・・ + (No.1のシャンプーの値 – No.2のシャンプーの値)

このように、各項目の差の2乗をとった和を距離と定義しています。
2乗にしている理由は、プラスやマイナスの符号を無くすためです。

このようにして、No.1とNo.2の距離、No.1とNo.3の距離・・・と計算をしていき、より近い距離のものを同じグループへ振り分けるという考え方が、クラスター分析の元になっています。

クラスター分析の考え方を知る ~言語系データの場合~

言語系のクラスター分析のイメージ
言語系のクラスター分析のイメージ

この章では、言語系データの場合のクラスター分析を紹介します。
前の章では、コンピュータは数値しか扱うことができないと説明しました。
そのため、言語系データも何らかの変換を行う必要があります。
これは、別のコラム「自然言語処理の基本」でも紹介していますが、文章を単語ベースへ分割し、その単語が出現しているかどうかをもとに0か1の値へ変換を行います。
この変換を行うことで、後は数値系データと同様に各データ同士の距離を測ることで、クラスター分析を行うことができます。

具体例で学ぶ!クラスター分析とその種類” に対して1件のコメントがあります。

コメントは受け付けていません。