クラスタリングとは?教師なし学習の基礎とk-meansの使い方|統計自主学習⑯

はじめに

これまでの記事では、教師あり学習(分類・回帰)を中心に学んできました。

ひとつ前の記事 主成分分析(PCA)で次元削減!データの本質を捉える方法

今回は新たなテーマ、
「教師なし学習(unsupervised learning)」に挑戦します!

教師なし学習の代表的な手法が、
クラスタリング(Clustering)です。

この記事では、

  • クラスタリングとは何か?
  • クラスタリングの基本的なアルゴリズム
  • 実際の使われ方・注意点
    についてわかりやすく解説します!

🔹 統計自主学習シリーズまとめページはこちら
【初心者向け】統計自主学習シリーズまとめ


クラスタリングとは?

クラスタリングとは、
似たデータ同士をグループにまとめる手法です。

ポイントは、

  • ラベル(正解)が存在しない
  • データ自身の特徴から、自然なまとまり(クラスタ)を見つけ出す
    ことです。

イメージ

例えば、買い物客の購買データから、

  • 似た購入傾向を持つグループ
  • 似た好みを持つグループ
    を自動的に発見することができます。

クラスタリングの主な用途

クラスタリングは実社会でも幅広く活用されています。

  • マーケティング → 顧客をタイプ別に分類
  • 画像処理 → 似た特徴を持つ画像をまとめる
  • 医療 → 患者のタイプを自動で分ける
  • ソーシャルメディア → ユーザーをグループ化

クラスタリングの代表的なアルゴリズム

クラスタリングには色々な方法がありますが、
ここでは代表的な2つを紹介します!


① k-means法(k平均法)

最も基本的なクラスタリング手法です。

  • あらかじめ「クラスタの数k」を決める
  • データをk個のグループに分ける
  • 各クラスタの中心(重心)を計算し、データを最も近い中心に割り当てる

k-means法の特徴

✅ シンプルで計算が速い
✅ 大規模データにも適用しやすい
❗ クラスタ数を事前に決める必要がある
❗ 球状のグループしかうまく分けられない場合がある


② 階層的クラスタリング(Hierarchical Clustering)

クラスタを階層的に構築していく方法です。

  • データ点を最初は全部バラバラに
  • 近いデータ同士を順番にまとめていき、
    木(ツリー)状にグループを形成していきます

階層的クラスタリングの特徴

✅ クラスタ数を後から決められる(ツリーをどこで切るかで調整)
✅ データ構造を可視化できる(デンドログラム)
❗ 計算コストが高く、大規模データには向かない場合も


クラスタリングのPython実装例(k-means)

ここでは、k-meansを使った簡単な例を紹介します!

from sklearn.datasets import load_iris
from sklearn.cluster import KMeans
import matplotlib.pyplot as plt

# データ読み込み
iris = load_iris()
X = iris.data

# k-meansでクラスタリング(3グループに分ける)
kmeans = KMeans(n_clusters=3, random_state=42)
labels = kmeans.fit_predict(X)

# 結果を可視化(2次元だけ使用)
plt.scatter(X[:, 0], X[:, 1], c=labels, cmap='viridis')
plt.xlabel('特徴量1')
plt.ylabel('特徴量2')
plt.title('k-meansクラスタリング結果')
plt.show()

クラスタリングの注意点

クラスタリングは便利ですが、注意も必要です。

  • 必ずしも「正解」があるわけではない
  • クラスタ数の設定に慎重になる必要がある
  • どんな特徴をもとにグループ分けされるかをよく考える

➡️ 「データをよく理解すること」が何より大事です!


まとめ

  • クラスタリングは、データから自然なグループを発見する手法
  • k-means法や階層的クラスタリングが代表例
  • 適切なクラスタ数や特徴選びが成功のカギ
  • 教師なし学習の第一歩として、非常に重要なスキル!

✅ 次回は、クラスタリングをより実践的に使いこなすために、
「クラスタ数の決め方(エルボー法・シルエット分析)」について学んでいきましょう!

【あわせて読みたい】

🔹 次におすすめの記事

クラスタ数はどう決める?エルボー法とシルエット分析を初心者向けにやさしく解説

🔹 関連記事
「正規分布とは?現実世界と機械学習での使われ方・特徴をやさしく解説」

主要6モデルをやさしく解説!線形回帰・ロジスティック回帰・KNN・SVM・決定木・ランダムフォレストとは?

分類問題の基礎!混同行列・精度・再現率・F1スコアの正しい使い方

なぜ標準化・正規化でモデルの精度が上がるのか?実例と一緒に解説

🔹 統計自主学習シリーズまとめページはこちら
【初心者向け】統計自主学習シリーズまとめ

コメント

タイトルとURLをコピーしました