干貨合集-聚類分析
一、聚類分析方法分類
聚類分析方法可分為Q型和R型,如下圖:
SPSSAU-進階方法-聚類
SPSSAU-進階方法-分層聚類
?1、K-means聚類
(1)算法原理
K-means算法是典型的基于距離的聚類算法,采用距離作為相似性的評價指標,即認為兩個對象的距離越近,其相似度就越大。該算法認為簇是由距離靠近的對象組成的,因此把得到緊湊且獨立的簇作為最終目標。因為需要計算距離,所以決定了K-means算法只能處理數(shù)值型數(shù)據(jù),而不能處理分類屬性型數(shù)據(jù)。
(2)K-means算法步驟
① K-means算法首先需要選擇K個初始化聚類中心② 計算每個數(shù)據(jù)對象到K個初始化聚類中心的距離,將數(shù)據(jù)對象分到距離聚類中心最近的那個數(shù)據(jù)集中,當所有數(shù)據(jù)對象都劃分以后,就形成了K個數(shù)據(jù)集(即K個簇)③ 接下來重新計算每個簇的數(shù)據(jù)對象的均值,將均值作為新的聚類中心④ 最后計算每個數(shù)據(jù)對象到新的K個初始化聚類中心的距離,重新劃分⑤ 每次劃分以后,都需要重新計算初始化聚類中心,一直重復(fù)這個過程,直到所有的數(shù)據(jù)對象無法更新到其他的數(shù)據(jù)集中。
提示:
①聚類中心的選擇帶有隨機性②計算距離通常使用標準化歐式距離
- 使用標準化歐式距離的原因是:計算距離時不能因為計量單位問題導(dǎo)致不準確。
例如有三個模特,他們各自的屬性數(shù)據(jù)如下: A:65000000毫克(即130斤),1.74米 B:60000000毫克(即120斤),1.70米 C:65000000毫克(即130斤),1.40米 按照我們?nèi)粘I畛WR,我們本來應(yīng)該把A和B放到一類里,而把C放到另外一類里。但是當我們計算三者的歐式距離時: 模特A和B的差異為5000000,模特A和C的差異為0.34,與我們的認知相反,原因是——屬性計量單位不同導(dǎo)致數(shù)值差異過大 能不能自動消除這種計量單位的影響呢?可以——標準化歐氏距離方法。
(3)K初始值確定——肘部法則——SSE
肘部法所使用的聚類評價指標為:數(shù)據(jù)集中所有樣本點到其簇中心的距離之和的平方。但是肘部法選擇的并不是誤差平方和最小的K,而是誤差平方和突然變小時所對應(yīng)的K值(類似于因子分析中碎石圖確定因子個數(shù),如下圖所示位置)。
?2、K-modes聚類
(1)算法原理
k-modes算法是對k-means算法的擴展。k-modes算法是在數(shù)據(jù)挖掘中對分類屬性型數(shù)據(jù)采用的聚類算法。
k-modes算法采用差異度(Simple Matching Distance)來代替k-means算法中的歐式距離。k-modes算法中差異度越小,則表示距離越小。一個樣本和一個聚類中心的差異度就是它們各個屬性不相同的個數(shù),不相同則記為一,最后計算一的總和。這個和就是某個樣本到某個聚類中心的差異度。該樣本屬于差異度最小的聚類中心。
(2)K-modes算法步驟
K-modes算法步驟與K-means類似,只是將原本K-means使用的歐式距離替換成差異度。
?3、K-prototype聚類
(1)算法原理
K-prototype是處理混合屬性聚類的典型算法。繼承Kmean算法和Kmode算法的思想。
度量具有混合屬性的方法是,數(shù)值型屬性采用K-means方法得到P1,分類型屬性采用K-modes方法P2,那么D=P1+a*P2,a是權(quán)重。如果覺得分類屬性重要,則增加a,否則減少a,a=0時即只有數(shù)值屬性。
(2)算法步驟
① 隨機選取k個初始原型(中心點);② 針對數(shù)據(jù)集中的每個樣本點,計算樣本點與k個原型的距離(數(shù)值型變量計算歐氏距離,類別型變量計算差異度),將樣本點劃分到離它最近的中心點所對應(yīng)的類別中;③ 類別劃分完成后,重新確定類別的原型,數(shù)值型變量樣本取值的均值作為新的原型的特征取值,類別型變量樣本取值的眾數(shù)作為新的原型的特征取值;④ 重復(fù)步驟2 3,直到?jīng)]有樣本改變類別,返回最后的聚類結(jié)果。
?4、分層聚類
(1)算法原理
分層聚類,又稱層次聚類、系統(tǒng)聚類,就是對給定數(shù)據(jù)對象的集合進行層次分解,根據(jù)分層分解采用的分解策略。僅針對定量數(shù)據(jù)進行分層聚類。
具體分層聚類時使用Pearson相關(guān)系數(shù)度量距離大小,同時使用組平均距離法進行分析。
(2)算法步驟
① 初始化:把每個樣本各自歸為一類(每個樣本自成一類),計算每兩個類之間的距離,也就是樣本之間的相似度。 ② 尋找各個類之間最近的兩個類,把他們歸為一類(這樣,總類的數(shù)量減少一個)。③ 重新計算新生成的這個類與各個舊類之間的距離(相似度)。 ④ 重復(fù) ② ③ 步,直到所有的樣本都歸為一類結(jié)束。
(3)其他說明
① 由于均為定量數(shù)據(jù),因而從原理角度上,分層聚類時使用Pearson相關(guān)系數(shù)去度量距離,相關(guān)系數(shù)值越大說明越緊密,則說明距離越近。
② SPSSAU進行分層聚類時使用組平均距離法進行聚類;通俗地講即首先將相關(guān)性最強的兩項聚成一類(第一個合并簇),接著找出與該“合并簇”相關(guān)性最強的第三項,聚類成第二個合并簇,接著為第三個合并簇,依次循環(huán)迭代此過程,直至結(jié)束。
③ 分層聚類適用于列數(shù)不多的情況,其計算效率相對低于K-means聚類。
④ 分層聚類按列進行聚類,如果需要對行進行聚類,僅需將數(shù)據(jù)轉(zhuǎn)置一下。
⑤ 分層聚類與K-means聚類在數(shù)據(jù)均為定量數(shù)據(jù)和數(shù)據(jù)量不大的情況下可以相互替代。
二、聚類效果
(1)聚類類別具有隨機性:K-means聚類第一步是預(yù)將數(shù)據(jù)分為K組,則隨機選取K個對象作為初始的聚類中心,此第一步驟帶有一定的隨機性。
(2)聚類效果最終目的:“ 某類別里差異盡量小,類別之間差異盡量大” 。
(3)誤差平方和SSE:該值可用于測量各點與中心點的距離情況,理論上是希望越小越好;該指標可用于輔助判斷聚類類別個數(shù),如果發(fā)現(xiàn)比如從3個聚類到4個類別時SSE值減少幅度明顯很大,那么此時選擇4個聚類類別較好。
(4)p值越小越好:若某項的p<0.05,意味著在聚類分析過程中,該項對聚類分析呈現(xiàn)出顯著作用,在其聚類類別上有明顯的特征差異;p值越小,說明該項越重要。
關(guān)于聚類效果的其他說明,詳見下圖:
三、SPSSAU聚類分析說明
(1)SPSSAU->進階方法->聚類
① SPSSAU在進行聚類分析時,將相應(yīng)的數(shù)據(jù)類型放入右邊的分析欄中,可進行定量or定類or混合數(shù)據(jù)的分析。



② SPSSAU默認聚類個數(shù)為3,建議用戶設(shè)置聚類數(shù)量介于3~6個之間。
(2)SPSSAU->進階方法->分層聚類
如果是按列進行聚類,此時應(yīng)該使用分層聚類,并且結(jié)合聚類樹狀圖進行綜合判定分析,得出科學(xué)分析結(jié)果。
(3)SPSSAU->案例庫
有關(guān)聚類分析相關(guān)案例、案例數(shù)據(jù)下載,可以登陸SPSSAU官網(wǎng)案例庫進行下載學(xué)習(xí)。