# 群聚分析 (Cluster Analysis)
[TOC]
###### tags: `data_mining` `ml`
### 例子
所謂「物以類聚」、「沆瀣一氣」、「狐群狗黨」、「龍交龍鳳交鳳溫姑交洞憨」
性質越近的越聚在一起。
這些成語俗語
其實都帶著「集群」的概念。
### 演算法定義
* 集群分析是一種精簡資料的方法
* 依據樣本之間的共同屬性,將比較相似的樣本聚集在一起,形成集群(cluster)。
* 以距離作為分類的依據,相對距離愈近,相似程度愈高,資料分群之後可以使得群內差異小、群間差異大。
* 群聚分析技術分為兩大類:
* 階層式分群(Hierarchical Clustering)
* 切割式分群(Partitional Clustering)
* 資料分析的對象通常針對人分群
* 通常是敘述消費者的特徵
* 人口統計變數
* 行為分析
* 需求
* 群聚方法分類
* 標準
* 統計
* 概念
* 物件
* 數值
* 符號值
* 以上兩這同時
* 尺度規劃
* 距離
* 密度
* 連結
## 階層式分群
* 算法
* 根據樣本之間的距離,將距離最近的集結在一群
* 所有樣本都會併入同一集群中(如下圖)

### 切割式分群
* 算法
* 事先指定分群數量
* 透過特定算法(K-means...)將組內同性質合組間異質性最大化
### K-means的算法
1. 我們先設定好要分成多少(k)群。
2. 然後在feature space(x軸身高和y軸體重組出來的2維空間,假設資料是d維,則會組出d維空間)隨機給k個群心。
3. 每個資料都會所有k個群心算歐式距離(歐基李德距離Euclidean distance,其實就是直線距離公式,從小學到大的那個距離公式,這邊距離當然也可以換成別種距離公式,但基本上都還是以歐式距離為主)。
4. 將每筆資料分類判給距離最近的那個群心。
5. 每個群心內都會有被分類過來的資料,用這些資料更新一次新的群心。
6. 一直重複3–5,直到所有群心不在有太大的變動(收斂),結束。
