分群法或稱叢集法(Clusering)是相對於分類法的另外一種資料探勘技術。分群法也是用來將資料做區分的,差別在於原本的資料都是未經過類別區分的。因為是未知類別的資料集進行區分所以也被稱為非監督式學習(Supervised Learning)。
分群法通常是用在分組使用。舉例來說,假如是一家行銷公司,想要對不同的使用者進行廣告,就可以利用分群法先將使用進行初步的分組。分群法可以用在市場研究,圖形識別等等的領域。
分群法針對沒有預先定義好類別的資料分組,是一種非監督式的學習。基本上的目標是達成以下兩個指標:
因為資料是由不同的屬性所組成的向量,會呈現成一個多維的物件。所以通常會利用「距離」的概念來表示相似程度。兩筆資料會表示為兩個點,兩點之間的距離越大代表越相似,反之越不相似。
K-means 是經典的分群演算法,目標是分成 k 個不同的群。方法步驟如下:
step1. 隨機任挑選 k 個點作為中心點,分為 k 群。
step2. 每一點計算與中心點的距離,判斷該點是哪一群。
step3. 每一群內重新計算平均值,作為新的中心點。
step4. 回到第二步,重新分群,直到分群結果固定。