---
title: "k-means と階層型クラスタリングの違い【G検定頻出比較】"
description: "k-means と階層型クラスタリングの違いについて、G検定で問われる特徴量・教師なし学習分野の観点から、目的、前提、モデル構造、入力と出力、評価観点のどこが異なるかを比較します。暗記だけでなく、似た概念との混同を避ける見分け方や、選択肢を切るためのポイントも確認します。"
canonical_url: "https://stemtazoo.github.io/gk/kmeans-vs-hierarchical/"
section: "gk"
---

## まず結論
- **k-means**は「クラスタ数を事前に決めて高速に分割する手法」、  
  **階層型クラスタリング**は「クラスタ数を決めずに階層構造を作る手法」である。  
- G検定では「クラスタ数の扱い」「デンドログラムの有無」「計算量の違い」が狙われる。

## 直感的な説明
### k-means
- 「**最初にグループ数を決めて、強制的に分ける**」
- 仕切りのある箱にデータを振り分けるイメージ

### 階層型クラスタリング
- 「**似ているもの同士が自然に集まっていく過程を見る**」
- 友達関係がだんだん大きなグループになるイメージ

👉  
- **早く・大量に処理** → k-means  
- **構造を理解したい** → 階層型

## 定義・仕組み
### k-means
- クラスタ数 **k を事前に指定**
- 各クラスタの中心（重心）を計算
- データを最も近い重心に割り当て
- 重心を更新 → 収束するまで繰り返す

### 階層型クラスタリング
- クラスタ数を**事前に決めない**
- データ間の距離に基づいて段階的に結合・分割
- 結果を **デンドログラム** で表現可能

※ 代表的なのは **凝集型（ボトムアップ）**

## いつ使う？（得意・不得意）
### k-means が得意
- データ数が多い
- 高速処理が必要
- クラスタ数が明確に決まっている

### k-means が苦手
- クラスタ数が分からない
- 非球状クラスタ
- 初期値依存が気になる場合

---

### 階層型クラスタリングが得意
- クラスタ数が不明
- データの関係性・構造を理解したい
- 可視化したい

### 階層型クラスタリングが苦手
- データ数が多い
- 計算コストが高い
- 高速処理が必要な場合

## G検定ひっかけポイント
- ❌「k-meansはクラスタ数を自動で決める」
- ❌「階層型クラスタリングは次元削減手法」
- ❌「デンドログラムはクラスタリング手法」

- ✅「k-meansは k を事前指定」
- ✅「階層型はクラスタ数を後から決められる」
- ✅「デンドログラムは階層型の可視化結果」

**判断基準**
- 「k を先に決める？」→ k-means  
- 「ツリー構造で関係を見る？」→ 階層型  
- 「大量データ・高速？」→ k-means  

## まとめ（試験直前用）
- k-means：高速・k事前指定・大量データ向き
- 階層型：構造理解・k不要・デンドログラムあり
- デンドログラム＝階層型の結果表示
- 次元削減とは無関係
- **kの扱いが最大の見分けポイント**
