
CDA數(shù)據(jù)分析師 出品
作者:CDA教研組
編輯:JYD
聚類算法是屬于無監(jiān)督的機器學(xué)習(xí)方法;機器學(xué)習(xí)里把算法分為有監(jiān)督和無監(jiān)督的算法,所謂有監(jiān)督,即我想研究的數(shù)據(jù)集有目標數(shù)據(jù),白話點就是建模里大家常說的那個y,如我想基于公司數(shù)據(jù)庫已經(jīng)有的相關(guān)數(shù)據(jù)集訓(xùn)練一個模型,用來預(yù)測客戶是否會流失,從數(shù)據(jù)庫中得到的數(shù)據(jù)集里是有一個特征(一列)是客戶是否流失的,可能1代表流失,0代表不會流失;但業(yè)務(wù)的初期或者數(shù)據(jù)庫中沒有該特征,即手中無y,那該怎么辦?如對客戶進行價值分群,此時對于這種目標明確,但確實缺少y這一列這種分析需求,可考慮聚類算法來實現(xiàn)。
首先簡單闡述一下聚類算法的思想,其邏輯是計算觀測值之間的距離,然后根據(jù)距離來進行分組(簇),目的是組內(nèi)之間的距離盡可能小,而組與組之間的距離大(即差異大)來達到分類(分組)的目的,得到的結(jié)果可以用來做數(shù)據(jù)挖掘。
回到我們的標題,我們說聚類算法是無監(jiān)督的機器學(xué)習(xí),沒有y,那怎么還說心中要有y呢?我們看下面的一個例子。
圖1
如圖1給出一些彈珠,我們的需求是將這些不同差異的彈珠做聚類分析,可這些彈珠不同的差異太多了在不同的角度上,如果你心里沒有目的,是很難將這些彈珠做好聚類分群的。
如果我們的目的是根據(jù)彈珠的體積大小這個目的進行分群的話,可能會聚成三類,即圖2里的大中小三種體積;
圖2
如果我們的需求是根據(jù)彈珠的透明程度,可能會分成圖3所示的2類:透明的一類和不透明的一類;
圖3
那如果我們的關(guān)注點是彈珠的顏色,可能會成為圖4所示的幾類,紅色系、黃色系、藍色系和紫色系等;
圖4
上面的例子我們可以看到,即使對于同一筆資料,根據(jù)需求的不同,聚類分群的結(jié)果也不太一樣,如果一個商業(yè)需求,分析師沒有目的或者會錯需求的話,那挖掘出來的結(jié)果大概率是不會滿意的。
聚類算法要解決三個問題:
1.如何表示觀測值之間的相似性
2.如何根據(jù)這些相似性將類似的觀測值分到同一個類
3.對所有的觀測值分好類之后,如何對每一個類(群、組、簇這些說法都可)進行特征描述
對于第一個問題,怎么計算觀測值之間的相似性呢,計算距離,常見的計算距離方法有曼哈頓距離、歐式距離。
圖5是曼哈頓距離的公式和演示
圖5
曼哈頓距離,即算直角距離,如圖5中object1和object2兩個觀測點的虛線(直角)距離就是曼哈頓距離,R是指相應(yīng)特征的范圍;圖6是一個計算的例子。
圖6
兩個觀測值,分別有年紀和收入兩個維度,對其使用曼哈頓距離計算其距離為0.4。
下面要講的另外一種距離是歐式距離,歐式距離我們很早就接觸過,比如兩個點在二維坐標軸上x(x1,x2)和y(y1,y2)他們的歐式距離平方就是(x1-y1)^2+(x2-y2)^2;
圖7是歐式距離的公式,歐式距離是Minkowski距離的一種推廣。
圖7
這就是使用計算距離的公式來表示觀察與觀察之間的相似性。
那么第二個問題:如何根據(jù)這些相似性將類似的觀測值分到同一個類?這就是涉及到聚類的算法。
聚類算法根據(jù)樣本的不同處理會有很多種方法,這里會介紹層次聚類和基于劃分聚類里的kmeans聚類(該兩種聚類商業(yè)上經(jīng)常用)。
層次聚類,也有譯成系統(tǒng)聚類,指的是形成類相似度層次圖譜,便于直觀的確定類之間的劃分。該方法可以得到較理想的分類,但是難以處理大量樣本。
層次聚類的算法步驟是:
1.計算點與點之間的距離
2.將最近的兩個觀測點聚為一類,將其看做一個整體(類)計算與其他類之前的距離
3.一直重復(fù)上述過程,直至所有的觀測被聚為一類
如圖8是系統(tǒng)聚類的一個聚類過程演示:首先計算點與點之間的距離,如我們計算點1和點3之間的距離,發(fā)現(xiàn)其兩個點相對來說較近,我們把該兩個點化為一類叫類1,我們發(fā)現(xiàn)點2和點5距離第二近,所以也合并起來歸為一個類2,接著計算發(fā)現(xiàn),點4與點5較為近,但是點5已經(jīng)和點2合并了,所以呢點4、點2和點5合并成類3,接著點與點的距離矩陣告訴我們點1和點2的距離為第四近,但是點2、5、4已經(jīng)是類3了,點1也屬于類1,所以類1和類3合并成類4,類4再和點6合并為最后的類5。
圖8
分層聚類到底分幾個類呢,往往是通過層次樹(樹形圖)來結(jié)合業(yè)務(wù)來決定的,圖9是上面演示聚類結(jié)果的層次樹。
圖9
層次樹的x軸是觀測點,y軸是距離,聚類分析的目的是組內(nèi)之間的距離小,組與組之間的距離盡可能大(差異明顯),從y軸畫一條平行于x軸的直線,如我在y軸0.1到0.15之間畫一條平行x軸的直線,與層次圖有4個交點,意思是說分成了4個類(組),且這時組間距離是最大的(有4個交點的上平行線和下平行線之間的距離),1和3分成一組,2和5分成1組,4,6單獨一個組,這時算法角度給出的最優(yōu)分組,但是也要結(jié)合業(yè)務(wù)場景,比如算法角度給出分成20組組間差異最大,但是分成20個群進行針對性營銷顯然大部分業(yè)務(wù)是不合適的。
我們剛才說,近的點劃分到一個類,那么怎么計算類與類之間的距離?如果把各觀測點圈在一個橢圓里的話,即怎么去計算兩個橢圓的距離?
計算類與類之間的距離方法也有很多,如平均鏈接法、重心法、Ward最小方差法;下面只介紹用的頻率高的Ward最小方差法。
所謂Ward最小方差法,是思想是使各個觀測之間的離差平方和最小。
圖10是該方法的計算公式,其特點是較少受到異常值的影響,適用范圍廣。
圖10
圖11數(shù)據(jù)演示怎么計算各觀測之間的離差平方和
圖11
以上圖為例,一開始如果將AB合成一組,那么此時SS的值是
如果將CD合成一個組,其SS值是
當合并成3組時,如果是AB、CD和E的組合,那么SS的值是1+4+0=5,以同樣的計算方式,可以得到不同的分組情況和相應(yīng)的SS值,如下圖。
我們找出SS值最小的分組,上圖看到分成4群即AB分成一類,C、D、E單獨一類離差平方和最小(為1),分成3群時最小的SS值是3.5,其他情況下的分群數(shù)量最小SS值也可看出。
接下來我們講層次聚類的建模流程。
1. 針對業(yè)務(wù)需求,我們select到相關(guān)的數(shù)據(jù)集,通常要經(jīng)過處理才能進行分析:
a) 缺失值
b) 異常值(極大或極?。?/span>
c) 分類變量需要轉(zhuǎn)化為啞變量(0/1數(shù)值)
d) 分類變量類別過多
當然有些算法允許有缺失值、異常值等資料,如決策樹,但聚類不支持這些情況,所以要處理。
2.要做變量標準化
變量的量綱的不一樣引起計算距離的偏差,因此要統(tǒng)一,統(tǒng)一的方式有兩種方法:
3.不同維度的變量,相關(guān)性盡量低
圖12演示了大部分公司業(yè)務(wù)普遍性的變量分類模式,如圖12,將數(shù)據(jù)分成購買記錄數(shù)據(jù)(如消費頻率、消費的間隔周期等)、消費習(xí)慣行為等數(shù)據(jù)(如消費的區(qū)域)、第三方行為數(shù)據(jù)(如網(wǎng)絡(luò)瀏覽偏好等)。
圖12
層次聚類的一大優(yōu)點是可以結(jié)合聚類可視化來對聚類結(jié)果進行業(yè)務(wù)上的理解和驗證,圖13是幾個省份的經(jīng)濟數(shù)據(jù)聚類結(jié)果,肉眼觀察,如果你分成4的話,那上海、廣東是單獨一類,天津、廣西、福建、遼寧、河北是另外一類,浙江、江蘇、山東、是第四類,那么現(xiàn)在看看算法的聚類跟我看左圖的肉眼觀察是否一致,如果一致,那說明算法在解釋上也是很好的;
不過看右邊的樹形圖展示,其兩類是建議的,即福建、遼寧、河北、天津、廣西是一類,其他省份為另外一類,因為這樣劃分類與類之間的距離最長(差異最大),這里根據(jù)你的聚類觀察結(jié)合業(yè)務(wù)需求分成4類,或者根據(jù)算法的建議分成2類且能在商業(yè)情景下能夠得到解釋也可(這里根據(jù)當時各省的情況,上海跟山東劃分一類應(yīng)該不合理的,上海是一線城市,這里分成4類合適點)。
圖13
值得一提的是層次分類可以得到較為理想的分類數(shù)量,但是難處理大量樣本數(shù)據(jù)。所以我們需要講另外一種聚類方法。
第二種要講的聚類是叫kmeans聚類,也就是我們常說的k均值聚類。
1.選擇數(shù)據(jù),初始化中心點
2.將離中心點較近的點劃分到相應(yīng)的類
3.更新類的中心
4.重新將離數(shù)據(jù)近的點劃分到相應(yīng)的類
5.反復(fù)進行上面3,4步驟,直到分類的結(jié)果不再變化
圖14是該算法一個簡單的演示。
圖14
首先在我需要分類的數(shù)據(jù)上隨機選5個中心點(即K=5),然后計算觀測點與中心點的距離,劃分到相應(yīng)的中心點所屬的群里,接著不用第一次設(shè)置的中心點,現(xiàn)在重新設(shè)置5個中心點的位置,繼續(xù)計算觀測點與現(xiàn)在中心點的位置,基于遠近劃分到相應(yīng)的5個不同群中,反復(fù)重復(fù)這種設(shè)置中心點,劃分數(shù)據(jù)這種操作,直到數(shù)據(jù)的劃分情況不再發(fā)生變動。
2.變量標準化
3.不同維度的變量,相關(guān)性盡量低
4.確定合適的分群個數(shù)
不過在K值選擇上主要推薦輪廓系數(shù)(Silhouette Coefficient),并結(jié)合以下注意事項:
圖15是輪廓系數(shù)的公式
樣本輪廓系數(shù)
整體輪廓系數(shù)
圖15
其中a(i)表示觀測i到同一類內(nèi)觀測點距離的均值,b(i)表示觀測點i到不同類內(nèi)所有點距離的均值的最小值,S(i)表示觀測i的輪廓系數(shù),若a(i)小于b(i)則說明該觀測點在聚類的類中是合理的,此時a(i)/b(i)的值趨向于0,那么S(i)越接近1,聚類的效果越好;若a(i)大于b(i),說明觀測點還不如在別的類中,聚類的效果不好,此時b(i)/a(i)的值趨向于0,從而S(i)趨向于-1,若a(i)=b(i),則不能判斷觀測點i在哪個類效果中較好,此時S(i)為0,S(i)的值域-1到1,其值越小表示聚類的效果越差,其值越大代表聚類效果好,將所以觀測點的輪廓系數(shù)值相加求均值,就可以得到整個已聚類數(shù)據(jù)集的輪廓系數(shù),同樣,衡量其聚類好壞的標準與單個觀測點的輪廓系數(shù)的衡量方式是一致的。
不過這里還需注意一下,Kmeans處理大量樣本聚類有優(yōu)勢,但聚類的結(jié)果展示上不如層次聚類有好理解和可解釋性,所以使用kmeans聚類后,所做的聚類事后分析,往往要借助決策樹形圖來輔助理解。
5.聚類事后分析
聚類分好后需要拿來給營銷相關(guān)人員看,這就需要分類的結(jié)果可解釋性好:里面到底是怎么根據(jù)不同維度來將數(shù)據(jù)分群的,然后跟業(yè)務(wù)經(jīng)驗得到驗證;這里借助決策樹的可視化(決策樹圖)來實現(xiàn),我們知道決策樹是有監(jiān)督的學(xué)習(xí)方法,這里的處理就是把上面聚類算法得到的類別看成目標y,根據(jù)之前的各維度特征來使用決策樹算法。如圖16是一個先聚類后再用決策樹的一個可視化結(jié)果展示。
圖16
怎么看決策樹的可視化圖呢,從上到下,最上面的叫根節(jié)點,其中value是一個含四個元素的列表,意思是分成4類,往下的剪頭叫拆分,直到不能再拆分的每個“矩形”叫葉子節(jié)點,中間銜接的“矩形”叫決策節(jié)點;
那怎么從決策樹形圖看出分類結(jié)果的好壞以及對每個群進行描述達到可解釋的目的?
我們看value里是否其中一個元素的數(shù)值要遠遠大于其他的,如在第三層,value=18750遠遠大于47,1060,29,意思是說有18750個點被劃分到了class為2的類里,這一層其他class類的劃分情況也是很“干凈”的,所以決策樹在第三層的時候(劃分4類)分類效果就很好了;
那么怎么解讀呢,比如class2的用戶群特點是:不用柜臺(TBM<-0.07)、也不用ATM POS機(ATM POS<=-0.374),那么顯然這類客戶什么都不用,說明在該銀行業(yè)務(wù)當中,class2這類群體是流失客戶,再看看class0這類群體特征:不用柜臺,但是用POS機,很可能是這些喜歡方便,取款金額頻繁,取款金融少等這些特點的人群,其他兩個類同樣可以根據(jù)這種樹形圖來解釋。
回答第三個問題,對所有的觀測值分好類之后,如何對每一個類進行特征描述?
聚類的結(jié)果要詳細的作描述性統(tǒng)計,甚至作抽樣的客戶訪談,以了解客戶的真實情況,因此讓業(yè)務(wù)人員滿足客戶管理的目標,是聚類的終極目的。
上述建模流程是聚類的一般性流程,其實就應(yīng)用角度來說,快速聚類兩種運用場景是:
1. 發(fā)現(xiàn)異常情況:如果不對數(shù)據(jù)進行任何形式的轉(zhuǎn)換,只是經(jīng)過中心標準化或級差標準化就進行快速聚類,會根據(jù)數(shù)據(jù)分布特征得到聚類結(jié)果。這種聚類會將極端數(shù)據(jù)聚為幾類。這種方法適用于統(tǒng)計分析之前的異常值剔除,對異常行為的挖掘,比如監(jiān)控銀行賬戶是否有洗錢行為、監(jiān)控POS機是有從事套現(xiàn)、監(jiān)控某個終端是否是電話卡養(yǎng)卡客戶等等。
2. 將個案數(shù)據(jù)做劃分:出于客戶細分目的的聚類分析一般希望聚類結(jié)果為大致平均的幾大類,因此需要將數(shù)據(jù)進行轉(zhuǎn)換,這種方法適用場景包括客戶消費行為聚類、客戶積分使用行為聚類等等。
文章的最后,我們再來總結(jié)一下本文的內(nèi)容,就算法角度,講了層次聚類和kmeans聚類,就建模層面來說,通常的流程是:變量歸一化=>分布轉(zhuǎn)換=>主成分=>聚類,歸一化我們是希望剔除掉不同量綱,范圍的影響(因為要計算距離),而分布轉(zhuǎn)換這個步驟是因為我們希望將客戶均勻的分為若干類,在變量上,我們希望不同維度下的變量,相關(guān)性程度較低,對于多維的數(shù)據(jù)集來說,可以使用主成分分析來將變量進行降維;而使用聚類算法得到分群數(shù)量需要進行事后分析,來跟業(yè)務(wù)經(jīng)驗進行驗證,達到可解釋且可進行客戶畫像的目的。
如果應(yīng)用需求是發(fā)現(xiàn)異常情況下的聚類,其流程為變量歸一化=>主成分=>聚類,因為這種需求會根據(jù)數(shù)據(jù)分布特征得到聚類結(jié)果,未分布轉(zhuǎn)換情況下,這種聚類會將極端數(shù)據(jù)聚為幾類,從而幫助我們對異常行為進行挖掘。
數(shù)據(jù)分析咨詢請掃描二維碼
若不方便掃碼,搜微信號:CDAshujufenxi
LSTM 模型輸入長度選擇技巧:提升序列建模效能的關(guān)鍵? 在循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)家族中,長短期記憶網(wǎng)絡(luò)(LSTM)憑借其解決長序列 ...
2025-07-11CDA 數(shù)據(jù)分析師報考條件詳解與準備指南? ? 在數(shù)據(jù)驅(qū)動決策的時代浪潮下,CDA 數(shù)據(jù)分析師認證愈發(fā)受到矚目,成為眾多有志投身數(shù) ...
2025-07-11數(shù)據(jù)透視表中兩列相乘合計的實用指南? 在數(shù)據(jù)分析的日常工作中,數(shù)據(jù)透視表憑借其強大的數(shù)據(jù)匯總和分析功能,成為了 Excel 用戶 ...
2025-07-11尊敬的考生: 您好! 我們誠摯通知您,CDA Level I和 Level II考試大綱將于 2025年7月25日 實施重大更新。 此次更新旨在確保認 ...
2025-07-10BI 大數(shù)據(jù)分析師:連接數(shù)據(jù)與業(yè)務(wù)的價值轉(zhuǎn)化者? ? 在大數(shù)據(jù)與商業(yè)智能(Business Intelligence,簡稱 BI)深度融合的時代,BI ...
2025-07-10SQL 在預(yù)測分析中的應(yīng)用:從數(shù)據(jù)查詢到趨勢預(yù)判? ? 在數(shù)據(jù)驅(qū)動決策的時代,預(yù)測分析作為挖掘數(shù)據(jù)潛在價值的核心手段,正被廣泛 ...
2025-07-10數(shù)據(jù)查詢結(jié)束后:分析師的收尾工作與價值深化? ? 在數(shù)據(jù)分析的全流程中,“query end”(查詢結(jié)束)并非工作的終點,而是將數(shù) ...
2025-07-10CDA 數(shù)據(jù)分析師考試:從報考到取證的全攻略? 在數(shù)字經(jīng)濟蓬勃發(fā)展的今天,數(shù)據(jù)分析師已成為各行業(yè)爭搶的核心人才,而 CDA(Certi ...
2025-07-09【CDA干貨】單樣本趨勢性檢驗:捕捉數(shù)據(jù)背后的時間軌跡? 在數(shù)據(jù)分析的版圖中,單樣本趨勢性檢驗如同一位耐心的偵探,專注于從單 ...
2025-07-09year_month數(shù)據(jù)類型:時間維度的精準切片? ? 在數(shù)據(jù)的世界里,時間是最不可或缺的維度之一,而year_month數(shù)據(jù)類型就像一把精準 ...
2025-07-09CDA 備考干貨:Python 在數(shù)據(jù)分析中的核心應(yīng)用與實戰(zhàn)技巧? ? 在 CDA 數(shù)據(jù)分析師認證考試中,Python 作為數(shù)據(jù)處理與分析的核心 ...
2025-07-08SPSS 中的 Mann-Kendall 檢驗:數(shù)據(jù)趨勢與突變分析的有力工具? ? ? 在數(shù)據(jù)分析的廣袤領(lǐng)域中,準確捕捉數(shù)據(jù)的趨勢變化以及識別 ...
2025-07-08備戰(zhàn) CDA 數(shù)據(jù)分析師考試:需要多久?如何規(guī)劃? CDA(Certified Data Analyst)數(shù)據(jù)分析師認證作為國內(nèi)權(quán)威的數(shù)據(jù)分析能力認證 ...
2025-07-08LSTM 輸出不確定的成因、影響與應(yīng)對策略? 長短期記憶網(wǎng)絡(luò)(LSTM)作為循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)的一種變體,憑借獨特的門控機制,在 ...
2025-07-07統(tǒng)計學(xué)方法在市場調(diào)研數(shù)據(jù)中的深度應(yīng)用? 市場調(diào)研是企業(yè)洞察市場動態(tài)、了解消費者需求的重要途徑,而統(tǒng)計學(xué)方法則是市場調(diào)研數(shù) ...
2025-07-07CDA數(shù)據(jù)分析師證書考試全攻略? 在數(shù)字化浪潮席卷全球的當下,數(shù)據(jù)已成為企業(yè)決策、行業(yè)發(fā)展的核心驅(qū)動力,數(shù)據(jù)分析師也因此成為 ...
2025-07-07剖析 CDA 數(shù)據(jù)分析師考試題型:解鎖高效備考與答題策略? CDA(Certified Data Analyst)數(shù)據(jù)分析師考試作為衡量數(shù)據(jù)專業(yè)能力的 ...
2025-07-04SQL Server 字符串截取轉(zhuǎn)日期:解鎖數(shù)據(jù)處理的關(guān)鍵技能? 在數(shù)據(jù)處理與分析工作中,數(shù)據(jù)格式的規(guī)范性是保證后續(xù)分析準確性的基礎(chǔ) ...
2025-07-04CDA 數(shù)據(jù)分析師視角:從數(shù)據(jù)迷霧中探尋商業(yè)真相? 在數(shù)字化浪潮席卷全球的今天,數(shù)據(jù)已成為企業(yè)決策的核心驅(qū)動力,CDA(Certifie ...
2025-07-04CDA 數(shù)據(jù)分析師:開啟數(shù)據(jù)職業(yè)發(fā)展新征程? ? 在數(shù)據(jù)成為核心生產(chǎn)要素的今天,數(shù)據(jù)分析師的職業(yè)價值愈發(fā)凸顯。CDA(Certified D ...
2025-07-03