科學(xué)指南針-聚類分析:如何用通俗的話解釋清楚?
在開(kāi)始我們今天的分享之前,先看一個(gè)實(shí)際業(yè)務(wù)分析場(chǎng)景中的例子:
某零售公司在市面上主要有30款產(chǎn)品,這些產(chǎn)品的類別、銷售量和銷售額的差異很大,于是該公司的業(yè)務(wù)分析師想按照一定的標(biāo)準(zhǔn),將30個(gè)產(chǎn)品劃分為A、B、C三個(gè)等級(jí),以便公司進(jìn)行產(chǎn)品戰(zhàn)略規(guī)劃,那么他應(yīng)該怎么做呢?
很多人可能會(huì)想到套用波士頓矩陣,以銷售量和銷售額為橫縱坐標(biāo)軸,計(jì)算中心軸,將每個(gè)產(chǎn)品落入矩陣當(dāng)中,就能得到大體的產(chǎn)品分類情況。
?

?
好像看上去沒(méi)問(wèn)題對(duì)不對(duì)?但是在實(shí)際情況中,很多人這樣做出來(lái)的卻是錯(cuò)誤的,為什么呢?
其實(shí)這種思路是對(duì)的,但是很多人都忽略了一個(gè)最關(guān)鍵的問(wèn)題:應(yīng)該用什么標(biāo)準(zhǔn)去衡量和判斷中心軸的劃分
很多人都會(huì)選擇直接拉取數(shù)據(jù)的平均值作為中心軸,然而這種分類方法在實(shí)際中可能會(huì)造成數(shù)據(jù)的誤判,因?yàn)轭悇e的不同,數(shù)據(jù)之間的差異可能會(huì)呈現(xiàn)出族群的現(xiàn)象,這時(shí)候有些數(shù)據(jù)就可能會(huì)“魚目混珠”地混入其他類別之中。
比如,我們可以舉個(gè)很極限的例子,有A、B、C三個(gè)產(chǎn)品的銷售量分別為100、50、1,很顯然A、B產(chǎn)品為一類,C產(chǎn)品為一類;但是如果按照平均值151/3=50.03,劃分之后A為一類,B與C劃分到了一類。
怎么樣,是不是很奇怪,這時(shí)就要用到我們今天要介紹的分類分析方法——聚類。
?
一、什么是聚類分析?
?
聚類原本是統(tǒng)計(jì)學(xué)上的概念,現(xiàn)在屬于機(jī)器學(xué)習(xí)中非監(jiān)督學(xué)習(xí)的范疇,大多都被應(yīng)用在數(shù)據(jù)挖掘、數(shù)據(jù)分析的領(lǐng)域,簡(jiǎn)單說(shuō)可以用一個(gè)詞概括——物以類聚。
如果把人和其他動(dòng)物放在一起比較,你可以很輕松地找到一些判斷特征,比如肢體、嘴巴、耳朵、皮毛等等,根據(jù)判斷指標(biāo)之間的差距大小劃分出某一類為人,某一類為狗,某一類為魚等等,這就是聚類。
從定義上講,聚類就是針對(duì)大量數(shù)據(jù)或者樣品,根據(jù)數(shù)據(jù)本身的特性研究分類方法,并遵循這個(gè)分類方法對(duì)數(shù)據(jù)進(jìn)行合理的分類,最終將相似數(shù)據(jù)分為一組,也就是“同類相同、異類相異”。
?
二、聚類不是分類
?
說(shuō)到這里,可能有人會(huì)覺(jué)得聚類不就是分類嘛,而其實(shí)在嚴(yán)格意義上,聚類與分類并不是一回事,兩者有著很大的差異。
分類是按照已定的程序模式和標(biāo)準(zhǔn)進(jìn)行判斷劃分,比如我們開(kāi)頭提到的例子,我們直接規(guī)定把數(shù)據(jù)的平均值作為中心軸,那么我們的工作就剩下了一個(gè):判斷每一個(gè)數(shù)據(jù)是否達(dá)到平均值。
也就是說(shuō),在進(jìn)行分類之前,我們事先已經(jīng)有了一套數(shù)據(jù)劃分標(biāo)準(zhǔn),只需要嚴(yán)格按照標(biāo)準(zhǔn)進(jìn)行數(shù)據(jù)分組就可以了。
而聚類則不同,我們并不知道具體的劃分標(biāo)準(zhǔn),要靠算法進(jìn)行判斷數(shù)據(jù)之間的相似性,把相似的數(shù)據(jù)放在一起,也就是說(shuō)聚類最關(guān)鍵的工作是:探索和挖掘數(shù)據(jù)中的潛在差異和聯(lián)系。
在聚類的結(jié)論出來(lái)之前,我完全不知道每一類有什么特點(diǎn),一定要根據(jù)聚類的結(jié)果通過(guò)人的經(jīng)驗(yàn)來(lái)分析,看看聚成的這一類大概有什么特點(diǎn)。
?
三、聚類的方法
?
知道了聚類的含義,那么我們具體要怎么對(duì)數(shù)據(jù)進(jìn)行聚類呢?
聚類方法有很多,但是我們數(shù)據(jù)分析中常用的就是K-Means聚類法,這種方法很簡(jiǎn)單,也很有效,在很多分析軟件上都能進(jìn)行算法計(jì)算。
簡(jiǎn)答拿一個(gè)例子介紹一下K-Means聚類法的原理和過(guò)程:
?
1、確定分組數(shù)
K-Mcans聚類法中的K就是分組數(shù),也就是我們希望通過(guò)聚類后得到多少個(gè)組類。比如我有下面六個(gè)數(shù)據(jù),想要將這些數(shù)據(jù)分成兩類,那么K=2 。

?
這個(gè)數(shù)據(jù)中心的選擇是完全隨機(jī)的,也就是說(shuō)怎么選擇都無(wú)所謂,因?yàn)檫@里K=2,所以我們就以A和B兩個(gè)為數(shù)據(jù)中心。2、隨機(jī)選擇K個(gè)值作為數(shù)據(jù)中心
為了方便理解,我們可以制作一個(gè)散點(diǎn)圖,將A、B作為數(shù)據(jù)中心。
?

?
既然選擇了數(shù)據(jù)中心,那么它們的周圍一定會(huì)有很多相似數(shù)據(jù),怎么判斷這些數(shù)據(jù)與其是不是相似呢?3、計(jì)算其他數(shù)值與數(shù)據(jù)中心的“距離”
這里我們要引入歐氏距離的概念,通俗點(diǎn)說(shuō)歐氏距離就是多維空間中各個(gè)點(diǎn)之間的絕對(duì)距離,表明兩點(diǎn)之間的距離遠(yuǎn)近,其公式為:
?

?
如果是普通的二維數(shù)據(jù),這個(gè)公式就直接變成了勾股定理,因此我們算出其他6個(gè)點(diǎn)距離A和B的距離,誰(shuí)離得更近,誰(shuí)與數(shù)據(jù)中心就是同一類。
?

?
第一組:A所以,我們可以看出,C-H距離B的距離都比距離A更近,所以第一次分組為:
第二組:B、C、D、E、F、G、H
?
4、重新選擇新的數(shù)據(jù)中心
得到了第一次分組的結(jié)果,我們?cè)僦貜?fù)前兩個(gè)步驟,重新選擇每一組數(shù)據(jù)的數(shù)據(jù)中心。
第一組只有A,所以A仍然是數(shù)據(jù)中心;
第二組有7個(gè)數(shù)值,將這個(gè)7個(gè)數(shù)值的平均值作為新的數(shù)據(jù)中心,我們將其命名為P,計(jì)算平均坐標(biāo)為(5.14 ,5.14)
?
5、再次計(jì)算其他數(shù)據(jù)與新數(shù)據(jù)中心的距離
還是直接計(jì)算勾股定理,計(jì)算出其他數(shù)據(jù)與A和P的歐氏距離,如下:

?
第一組:A、B我們可以看出這里面有的距離A近,有的距離P近,于是第二次分組為:
第二組:C、D、E、F、G、H
?
6、再次重新選擇數(shù)據(jù)中心
這里就是老規(guī)矩了,繼續(xù)重復(fù)前面的操作,將每一組數(shù)據(jù)的平均值作為數(shù)據(jù)中心:
第一組有兩個(gè)值,平均坐標(biāo)為(0.5 ,1),這是第一個(gè)新的數(shù)據(jù)中心,命名為O
第二組有六個(gè)值,平均值為(5.8 , 5.6),這是第二個(gè)新的數(shù)據(jù)中心,命名為Q
?
7、再次計(jì)算其他數(shù)據(jù)與新數(shù)據(jù)中心的距離

?
第一組:A、B這時(shí)候我們發(fā)現(xiàn),只有A與B距離O的距離更近,其他6個(gè)數(shù)據(jù)都距離Q更近,因此第三次分組為:
第二組:C、D、E、F、G、H
經(jīng)過(guò)這次計(jì)算我們發(fā)現(xiàn)分組情況并沒(méi)有變化,這就說(shuō)明我們的計(jì)算收斂已經(jīng)結(jié)束了,不需要繼續(xù)進(jìn)行分組了,最終數(shù)據(jù)成功按照相似性分成了兩組。
?
8、方法總結(jié)
簡(jiǎn)單來(lái)說(shuō),我們一次次重復(fù)這樣的選擇數(shù)據(jù)中心-計(jì)算距離-分組-再次選擇數(shù)據(jù)中心的流程,直到我們分組之后所有的數(shù)據(jù)都不會(huì)再變化了,也就得到了最終的聚合結(jié)果。
?
四、實(shí)際中怎么用聚類
?
明白了聚類分析的思路和方法,我們?cè)趺磻?yīng)用到實(shí)際中去呢?面對(duì)大量數(shù)據(jù)的時(shí)候我們?cè)撛趺崔k呢?其實(shí)很多分析軟件中都有聚類分析的功能,比如Python、Excel等等,比如FineBI中的聚類功能,可以快速計(jì)算聚類結(jié)果。

?
最后要注意的一點(diǎn)是,聚類指標(biāo)的選擇要充分結(jié)合業(yè)務(wù),加入一些無(wú)用的指標(biāo)反而會(huì)影響最后的聚類結(jié)果,這個(gè)展開(kāi)講的話就太多了,留到下次分享吧。在實(shí)際分析過(guò)程中,還要注意單位換算問(wèn)題,要確保這些數(shù)據(jù)的獨(dú)立性和統(tǒng)一性,否則得出的結(jié)果沒(méi)有任何的實(shí)際意義。
?
更多科研作圖、軟件使用、表征分析、SCI 寫作等干貨知識(shí)可以掃碼關(guān)注下哦~
