【けーみーんずほう】

k-means法(k平均法) とは?

💡 データを自動でk個のグループに仕分ける分類アルゴリズム
📌 このページのポイント
k-means クラスタリング 特徴量1 特徴量2 x x x 凡例 クラスタ1 クラスタ2 クラスタ3 x 重心
データ点をk個のクラスタに分類するk-means法
ひよこ ひよこ

k-meansってどういうしくみなの?

ペンギン先生 ペンギン先生

すごくシンプルなアルゴリズムだよ。まず適当にk個の点を置く。次に各データを一番近い点のグループに割り振る。そしたら各グループの中心を計算し直す。これを「グループ分けが変わらなくなるまで」繰り返すんだ。たったこれだけで、データが自然なグループに分かれるよ。

ひよこ ひよこ

具体的にはどう使われてるの?

ペンギン先生 ペンギン先生

マーケティングでの顧客セグメンテーションが有名だね。購買金額・購買頻度・最終購買日の3つのデータで顧客をグループ分けすると「優良顧客」「休眠顧客」「新規顧客」のように分かれるんだ。それぞれのグループに合ったキャンペーンを打てるわけだよ。

ひよこ ひよこ

kの数はどうやって決めるの?

ペンギン先生 ペンギン先生

これが実は一番悩むところなんだ。「エルボー法」という方法がよく使われていて、kを1から順に増やしていって、クラスタ内の散らばり具合がガクッと下がるところ(肘の形に見える点)をkとして選ぶ。でも明確な肘が見えないことも多くて、最終的にはビジネスの文脈で判断することが多いよ。

ひよこ ひよこ

k-meansの弱点ってある?

ペンギン先生 ペンギン先生

初期値に結果が大きく依存するのが厄介な弱点なんだ。最初にランダムに置いた点の位置が悪いと、本来のグループとは全然違う分け方になってしまうことがある。k-means++という改良版で初期値の選び方を工夫してだいぶ改善されたけど、もっと根本的な問題として、k-meansは「球状のクラスタ」しかうまく見つけられないんだ。三日月型やドーナツ型のグループがあるデータでは全然うまくいかない。こういう場合はDBSCANやGaussian Mixture Modelのような別の手法が必要になる。「万能なクラスタリング手法は存在しない」というのは、データ分析の世界で繰り返し言われる教訓だよ。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「k-means」って出てきたら「データをk個のグループに自動で分ける手法のことだな」と思えればだいたいOK!
📖 おまけ:英語の意味
「k-means」 = k個の平均
💬 kはグループの数、meansは「平均」。各グループの平均(中心点)を使ってデータを分類することからこの名前がついたよ
← 用語集にもどる