シルエット法で最適Kを見つけるK-Meansクラスタリング
K-Meansクラスタリングの最適なクラスタ数(K)を決めるシルエット法について、計算方法・解釈・エルボー法との違いを解説。平均・最小・負スコアの3指標を組み合わせた評価が鍵となる。
クラスタリング分析は、探索的データ分析(EDA)において欠かせない手法の一つだ。顧客セグメント、商品グループ、行動パターン、地域ごとの特徴、アンケート回答者タイプなど、データに内在する未知のグループ構造を発見できる。しかし、クラスタリングには常に一つの根本的な問いが伴う。「クラスタはいくつ作ればよいのか」。
特にK-Meansクラスタリングでは、アルゴリズム実行前にクラスタ数(K)を決定しなければならない。Kが少なすぎると本来異なるグループが一つにまとめられ、多すぎると同一グループが不自然に細分化され、解釈が困難になる。この問題に対処する代表的な手法がシルエット法(Silhouette Method)とエルボー法(Elbow Method)である。本稿ではシルエット法に焦点を当て、その原理、利用方法、解釈上の注意点、エルボー法との違いを詳述する。
シルエット法の基本原理
シルエット法は、各データポイントが割り当てられたクラスタにどれだけ適合しているかを評価する手法である。この方法は次の二つの問いを同時に評価する。
- 同じクラスタ内のデータと十分に近いか
- 他のクラスタのデータから十分に離れているか
良いクラスタリング結果は、同じクラスタ内のデータと類似し、他のクラスタのデータとは明確に異なる状態を満たす必要がある。これらを数値化したものがシルエットスコア(Silhouette Score)である。
シルエットスコアの計算と解釈
シルエットスコアは-1から1の範囲を取る。具体的な計算手順は以下の通りだ。
まず、注目するデータポイントについて「凝集度(a)」を計算する。凝集度は、同じクラスタ内の他の全ての点との距離の平均である。次に「分離度(b)」を計算する。分離度は、最も近い別のクラスタ内の全ての点との距離の平均である。
シルエットスコアは(b - a)をmax(a, b)で割った値として定義される。例えば凝集度40、分離度80の場合、スコアは0.5となる。分離度が大きく凝集度が小さいほど分子が大きくなり、スコアは1に近づく。逆に分離度が小さく凝集度が大きいとスコアは0に近づき、負の値になることもある。
スコアの解釈は以下の通りである。
- 1に近い:理想的な状態。自分のクラスタによく適合し、他のクラスタから明確に分離されている。
- 0付近:曖昧な状態。二つのクラスタの境界付近に存在し、どちらのクラスタにも属しうる。
- 負の値:誤分類の可能性。割り当てられたクラスタよりも別のクラスタの方が近いことを示す。
クラスタ評価で重要な3指標
シルエット法を実践する際、単一の指標だけでは不十分だ。Qiitaの記事「K-Meansのクラスタ数はどう決める?シルエット法で最適なKを見つける方法」(西田勘一郎氏、2026年6月14日公開)では、次の三つの指標を組み合わせて評価することを推奨している。
平均シルエットスコア
全観測値のシルエットスコアの平均値である。全体的なクラスタリング品質を示す最も一般的な指標だ。例えばK=2で0.42、K=3で0.51、K=4で0.47、K=5で0.39という結果では、K=3が有力候補となる。ただし平均値は一部の誤分類や分離の悪いクラスタを隠す可能性があるため、追加の確認が必要だ。
最小シルエットスコア
全観測値の中で最も低いシルエットスコアである。「最も問題のある割り当てはどれほど悪いか」を示す。例えばK=3では平均0.42で最小-0.05、K=4では平均0.41で最小-0.48という場合、平均はほぼ同じでもK=4には非常に悪い観測値が存在する。外れ値、ノイズ、クラスタの重なり、不適切なKなどが原因である。ただし最小値は一つの観測値に大きく影響されるため、警告指標として確認するのが適切だ。
負のシルエットスコアの割合
シルエットスコアが0未満のデータの割合である。「別のクラスタの方が近い可能性のあるデータがどれだけ存在するか」を示す。この割合が高い場合、クラスタリング結果の信頼性に注意が必要となる。
シルエット法とエルボー法の使い分け
エルボー法は、Kを変えながら各データから所属クラスタの中心までの距離の総和(慣性)をプロットし、その減少が鈍化する「肘」の位置を最適なKとする手法である。計算が軽量で直感的だが、明確な肘が現れないケースや、複数の肘が存在するケースでは判断が難しい。一方、シルエット法はクラスタ間の分離度も考慮するため、よりロバストな評価が可能だ。両手法を併用し、結果を相互検証するのが実践的である。
Exploratoryでのシルエット法サポート
同記事では、データ分析プラットフォーム「Exploratory」に最近追加されたK-Meansクラスタリング向けシルエット法サポートも紹介されている。これにより、平均・最小・負スコアの三指標を一覧で確認しながら、GUI操作で最適なKを探索できる。データ分析の自動化と可視化が進む中、こうしたツールの活用は実務効率を大幅に高める。データの可視化や分析結果の共有に関しては、Mermaid図解をGeminiナノバナナで清書する方法も参考になる。
編集部の見解
短期的影響
シルエット法は古典的な手法だが、近年のデータ分析ツールへの組み込みが進み、より多くの実務家が手軽に利用できる環境が整いつつある。今後3〜6ヶ月で、Exploratoryや類似のノーコード/ローコード分析プラットフォーム上でシルエット法が標準機能として提供される事例が増えると予想される。これにより、機械学習に詳しくないアナリストでも、適切なクラスタ数を統計的に根拠づけられるようになる。同時に、平均スコアだけで判断する誤った運用が広がるリスクもあり、教育・啓蒙の重要性が高まると見る。
長期的視点
1〜3年のスパンでは、シルエット法を含むクラスタリング評価手法の自動最適化が進むだろう。AutoMLの文脈で、Kの探索をシルエットスコア最大化問題として解く手法が標準化される可能性がある。また、大規模データ向けに近似計算やサンプリングベースの高速シルエット法の研究が進展し、数百万件のデータでも実用的な計算が可能になると期待される。さらに、クラスタリング結果の解釈支援として、シルエットスコアが低いデータポイントを可視化し、その理由を自然言語で説明するAI機能の統合も進むだろう。
編集部からの問い
シルエット法は万能ではない。実際のビジネスデータでは、クラスタ数が理論上の最適値でなくとも、解釈可能性や運用コストの観点から別のKを選択するケースも多い。編集部としては、統計的指標とドメイン知識のバランスをどう取るべきか、読者各位に問いかけたい。特に、シルエットスコアが低くともビジネス上有意義なセグメントが存在する場合、どのような判断基準でKを決定すべきか。手法の限界を理解した上で、実データに適用する際のベストプラクティスが今後議論されることを期待する。
参考
- K-Meansのクラスタ数はどう決める?シルエット法で最適なKを見つける方法 - Qiita — 2026-06-14公開
- 関連:Exploratory公式ドキュメント(K-Meansクラスタリング向けシルエット法サポートについて)
よくある質問
- シルエット法とエルボー法はどちらを使うべきですか?
- 両方の結果を比較するのが推奨されます。エルボー法は計算が軽量で直感的ですが、明確な肘が現れない場合があります。シルエット法はクラスタ間の分離度も考慮し、よりロバストな評価が可能です。両手法を併用し、結果が一致するKを優先するとよいでしょう。
- シルエットスコアが負になるデータポイントはどう解釈すればよいですか?
- 負のスコアは、そのデータポイントが現在のクラスタよりも別のクラスタに近いことを示します。外れ値やノイズ、クラスタの重なりが原因であることが多いです。負のスコアの割合が高い場合は、Kの再検討やデータの前処理(外れ値除去など)を検討すべきです。
- 平均シルエットスコアだけで最適なKを決めても問題ありませんか?
- 問題があります。平均値は一部の悪い割り当てを隠す可能性があるため、最小シルエットスコアと負のスコアの割合も合わせて確認する必要があります。理想的には、平均が高く、最小が低すぎず、負の割合が低いKを選びます。
コメント