data: 輸入是二維資料,有三千筆 (3000x2)
後面接的數字2代表想要分幾群
[idx, mid] = kmeans(data, 2);
GMM也就是高斯混合模型(Gaussian mixture model),建模的方法如下:
data: 輸入是二維資料,有三千筆 (3000x2)
後面接的數字2代表想要分幾群
要將資料透過模型分類,要使用cluster這個函示
GMModel = fitgmdist(data, 2); idx = cluster(GMModel, data);
我們都知道 K-means 是以歐式距離作為決定標準
在二維空間中只要離該群中點最近就認定為該群
GMM 則是藉由統計後,計算機率分布
得到中心點和sigma作為模型資訊
在一維空間中就是高斯分佈的鐘型
二維空間中會出現類似陀圓形的樣子
下圖是利用MATLAB模擬的情況
若是使用 K-means ,就像楚河漢界、各自畫線分地
但是 GMM 就能以機率分布的方式表現
在三群時,交錯的資料點都能代表不同群
所以根據資料真實分布情形,決定要用什麼樣的分群演算法
不一定每次都是 GMM 會比較好