第6章 6-5 / モデル化と機械学習

クラスタリング

このページで学ぶこと

本ページ(6-5)では、教師なし学習の代表格であるクラスタリング(クラスター分析)を扱います。まず教師なし学習のグループ化と教師あり学習の分類(判別)モデルの違いを整理したうえで、階層クラスタリングと非階層クラスタリングの違いソフトクラスタリングとハードクラスタリングの違い、そして階層クラスター分析の結果を表すデンドログラムの読み方を扱います。

「正解ラベルなしに、似たものをグループ分けする」という発想は、顧客セグメンテーションなど実務でも頻繁に使われます。仕組みをしっかり押さえておきましょう。

1. クラスター分析と分類(判別)モデルは何が違うのか

「グループ分け」と聞くと、6-3で扱ったロジスティック回帰などの分類(判別)モデルを思い浮かべるかもしれません。しかし、クラスター分析※1と分類モデルは、根本的な前提が異なります。

分類(判別)モデルは教師あり学習であり、あらかじめ「このデータはAグループ、あのデータはBグループ」という正解ラベルが与えられたうえで、新しいデータがどちらのグループに属するかを予測します。これに対してクラスター分析は教師なし学習であり、正解ラベルはいっさい与えられません。データそのものの似ている度合いだけをもとに、「いくつのグループに分かれそうか」「どのデータがどのグループに近いか」をモデル自身に見つけさせる点が本質的な違いです。教師なし学習のグループ化(クラスター分析)と教師あり学習の分類(判別)モデルの違いを説明できることは、DS検定のスキルチェック項目です。

観点クラスター分析(教師なし学習)分類・判別モデル(教師あり学習)
正解ラベルなしあり(訓練データに付与されている)
グループの数分析前は不明なことが多いあらかじめ既知(2値、3値など)
目的データの構造・似た者同士をあぶり出す新しいデータの所属先を予測する
代表例k-means、階層クラスタリングロジスティック回帰、決定木
EXAMPLE
  • 「解約する/しない」という正解ラベルがある顧客データから、新規顧客の解約可能性を予測する ― 分類モデル
  • 正解ラベルのない顧客の購買データをもとに、「よく似た購買パターンを持つ顧客のかたまり」をいくつか見つけ出す ― クラスター分析
さえちゃん
さえ

「グループ分け」って言葉だけ見ると同じに聞こえるけど、「正解ラベルが最初からあるかどうか」で全然違う技術になるんだよね。ここ、試験で地味にひっかけっぽく出るから注意!

2. 階層クラスタリングと非階層クラスタリング

クラスタリングの手法は、大きく階層クラスタリング非階層クラスタリング※7の2つに分けられます。この2つの違いを理解しておくことは、DS検定のスキルチェック項目のひとつです。

非階層クラスタリングの代表例はk-means法※3です。あらかじめ「いくつのグループに分けるか(k個)」を分析者が指定し、各データが近いグループの中心(重心)に所属するように、繰り返し計算でグループ分けを行います。計算が比較的軽く、大量のデータにも適用しやすい一方、最初にグループ数を決めておく必要があります。

これに対して階層クラスタリング※4は、最初にグループ数を決める必要がありません。もっとも似ている2つのデータ(または既にできているグループ)を順番に併合していき、最終的に全データが1つの大きな塊になるまでの併合の過程を階層構造として記録します。この階層構造を見ながら、後から「何グループに分けるのが妥当か」を分析者が判断できる点が特徴です。

観点非階層クラスタリング(k-means等)階層クラスタリング
グループ数の指定事前に指定する必要がある事前に指定不要。後から柔軟に決められる
計算量比較的軽く、大規模データ向きデータ量が増えると計算負荷が大きくなりやすい
結果の見方各データがどのグループに属するかのみデンドログラムで併合過程を確認できる
EXAMPLE
  • 数万人規模の会員データを、あらかじめ「5グループに分けたい」と決めてk-means法でセグメント分けする
  • 数十店舗の売上パターンについて、階層クラスタリングでどの店舗同士が似ているかを段階的に確認しながら、適切なグループ数を決める

3. ソフトクラスタリングとハードクラスタリング

クラスタリングにはもうひとつ、1つのデータが複数のグループに同時に属することを許すかどうかという軸での分類もあります。ハードクラスタリング※5は、各データを必ず1つのグループにだけ割り当てる方式で、k-means法や階層クラスタリングの多くはこちらに分類されます。

一方ソフトクラスタリング※6は、各データが「グループAに70%、グループBに30%」というように、複数のグループへの所属度合いを確率的・連続的に表現する方式です。現実のデータは必ずしも1つのグループにきっぱり分かれるわけではなく、複数の性質を併せ持つ対象を扱いたい場合には、ソフトクラスタリングの発想が有効です。

EXAMPLE ― ハードとソフトの違い
  • 「若年層向け商品を好む顧客グループ」に完全に分類する ― ハードクラスタリング的な発想
  • 「若年層向け商品を好む傾向が70%、ファミリー向け商品を好む傾向が30%」というように、比重をつけて所属を表現する ― ソフトクラスタリング的な発想
POINT

「階層 vs 非階層」はグループの決め方(事前に決めるか、後から決めるか)の違い、「ハード vs ソフト」は1つのグループにだけ属するか、複数グループに程度を持って属するかの違いです。2つの軸を混同しないようにしましょう。

4. デンドログラムの読み方

階層クラスタリングの結果は、デンドログラム※2と呼ばれる樹形図で表現されます。デンドログラムでは、個々のデータが枝の末端(葉)として並び、似ているデータ同士(または似ているグループ同士)が低い位置で結合され、似ていないもの同士ほど高い位置で結合されていきます。

デンドログラムを読み解くうえで重要なのは、枝が結合する高さ(距離)です。結合の高さが低いほど、そのデータ同士は「似ている度合いが強い」ことを意味し、高い位置で結合するものほど「似ている度合いが弱い(最後にようやく1つにまとまる)」ことを意味します。デンドログラムを見て、たとえば「ある高さで水平に切ったときに、何本の枝に分かれるか」を数えることで、「その高さで区切ると何グループに分けられるか」を判断できます。階層クラスター分析において、デンドログラムの見方を理解し、適切に解釈できることは、DS検定のスキルチェック項目です。

EXAMPLE ― デンドログラムの解釈
  • ある高さで横に線を引いたときに3本の枝に分かれていれば、その高さの基準では「3グループ」に分けたことになる
  • 2つの店舗が非常に低い位置で結合していれば、その2店舗の売上パターンは極めてよく似ていると解釈できる
  • ある店舗だけがほかのどの店舗とも高い位置でしか結合しない場合、その店舗は他と傾向が大きく異なる「外れ値的な存在」だと推測できる
POINT

デンドログラムを読むときのコツは「結合する高さ=似ていなさの度合い」と覚えることです。木の下のほうでくっつくものは似た者同士、上のほうでようやくくっつくものは性質が離れている、とイメージしましょう。

さえちゃん
さえ

デンドログラムって最初はちょっと難しそうに見えるけど、「くっつく高さが低い=似てる」ってルールさえ押さえれば大丈夫。試験でも図を見せて読み取らせる問題が出やすいから、慣れておこうね!

まとめ

本ページ(6-5)では、教師なし学習の代表格であるクラスタリングを扱いました。最後に振り返っておきましょう。

  1. クラスター分析と分類モデルの違い ― 正解ラベルの有無が最大の違い
  2. 階層クラスタリングと非階層クラスタリング ― グループ数を事前に決めるか、後から柔軟に決めるか
  3. ソフトクラスタリングとハードクラスタリング ― 1グループのみに属するか、複数グループへの所属度合いを持たせるか
  4. デンドログラム ― 結合する高さが低いほど「似ている」と読み取る

次のページ(6-6)では、時間の経過とともに変化するデータを扱う「時系列分析」を見ていきます。

脚注 ─ 用語解説
  1. クラスター分析(クラスタリング) … 正解ラベルを使わず、データ同士の似ている度合いをもとにグループ分けを行う教師なし学習の手法のこと。
  2. デンドログラム … 階層クラスタリングの結果を、データやグループが結合していく過程を樹形図として表現したもの。
  3. k-means法 … あらかじめ指定したk個のグループの中心(重心)に、各データを繰り返し計算で割り当てていく非階層クラスタリングの代表的な手法のこと。
  4. 階層クラスタリング … 似ているデータやグループを順番に併合していき、その過程を階層構造として記録するクラスタリング手法のこと。
  5. ハードクラスタリング … 各データを必ず1つのグループにだけ割り当てるクラスタリングの方式のこと。
  6. ソフトクラスタリング … 各データが複数のグループへの所属度合いを確率的・連続的に持つことを許すクラスタリングの方式のこと。
  7. 非階層クラスタリング … あらかじめグループ数を指定し、各データを1回の分析で各グループに割り当てるクラスタリングの方式のこと。k-means法が代表例。