本章開始進入聚類算法(Cluster)的講解唐片。 之前講過的內(nèi)容都是針對有監(jiān)督學(xué)習(xí)的模型,即我們在分類之前知道最終分類的目標宵溅。而聚類算法是面向無監(jiān)督學(xué)習(xí)的一種建模思想度硝。
聚類就是對大量未知標注的數(shù)據(jù)集肿轨,按照數(shù)據(jù)內(nèi)部存在的數(shù)據(jù)特征將數(shù)據(jù)集劃分為多個不同的類別,使類別內(nèi)的數(shù)據(jù)比較相似蕊程,類別之間的數(shù)據(jù)相似度比較小椒袍;屬于無監(jiān)督學(xué)習(xí)。
聚類算法的重點是計算樣本項之間的相似度藻茂,有時候也稱為樣本間的距離驹暑。
和分類算法的區(qū)別:
分類算法是有監(jiān)督學(xué)習(xí),基于有標注的歷史數(shù)據(jù)進行算法模型構(gòu)建辨赐;
聚類算法是無監(jiān)督學(xué)習(xí)优俘,數(shù)據(jù)集中的數(shù)據(jù)是沒有標注的;
在進入聚類算法學(xué)習(xí)之前掀序,需要對以下知識點進行說明帆焕,大綱如下:
● Jaccard相似度、Pearson相似度
● K-means聚類
● 聚類算法效果評估(準確率不恭、召回率等)
● 層次聚類算法
● 密度聚類算法
● 譜聚類算法
1叶雹、Jaccard相似度、Pearson相似度
聚類算法基于特征與特征之間的相似程度對數(shù)據(jù)進行歸類换吧。當數(shù)據(jù)沒有一個明確的分類準則時折晦,我們通過某種規(guī)律性的東西,對數(shù)據(jù)進行歸納和總結(jié)沾瓦,最終得到數(shù)據(jù)之間的相似性程度满着。
這章會介紹一些相似度計算的公式。我們在選擇了某種相似度的度量公式后贯莺,可以基于這種相似度對數(shù)據(jù)進行聚合风喇,達到分類的效果。
2响驴、K-means聚類
K-means是聚類中最常用的方法。在日常工作中撕蔼,因為聚類沒有明確的標簽Y豁鲤,所以對數(shù)據(jù)進行歸類劃分之后,我們也要根據(jù)經(jīng)驗主觀得對劃分后數(shù)據(jù)的分類進行定義鲸沮。
在統(tǒng)計分析中琳骡,聚類算法是一種探索性分析的工作。拿到數(shù)據(jù)后讼溺,我們可能沒有一個明確的目標楣号,不知道要做什么。我想先對數(shù)據(jù)做一個概要的分析,此時使用聚類分析可以達到這種效果炫狱。
本章最后會介紹K-means聚類的優(yōu)缺點藻懒。針對這些缺點,我們可以通過哪些改進的方法视译,來對數(shù)據(jù)進一步聚類嬉荆。
03 聚類算法 - K-means聚類
04 聚類算法 - 代碼案例一 - K-means聚類
05 聚類算法 - 二分K-Means、K-Means++酷含、K-Means||鄙早、Canopy、Mini Batch K-Means算法
06 聚類算法 - 代碼案例二 - K-Means算法和Mini Batch K-Means算法比較
3椅亚、聚類算法效果評估(準確率限番、召回率等)
聚類算法沒有目標值Y,那么如何去度量準確率和召回率呢呀舔?
如果所有的數(shù)據(jù)都沒有目標值標簽弥虐,那么無論怎么計算都不可能算出準確率和召回率的。
因此别威,我們可以將一些存在目標值Y的數(shù)據(jù)放到數(shù)據(jù)集中一起計算躯舔,從而得到準確率和召回率驴剔。這個思路本質(zhì)上還是有監(jiān)督的算法思想省古。
面試時可能會問:如何去評價一個聚類算法模型的好壞呢?
首先我根據(jù)人為的經(jīng)驗對一些數(shù)據(jù)進行劃分丧失,然后將這些數(shù)據(jù)放入我們的模型中進行分類豺妓。如果最終的分類結(jié)果和我認為預(yù)測的結(jié)果相似度高,那么認為這個聚類算法模型是優(yōu)秀的布讹。畢竟聚類分析是結(jié)合了實際業(yè)務(wù)的琳拭,作為數(shù)據(jù)分析師不可能對業(yè)務(wù)數(shù)據(jù)完全不敏感。
07 聚類算法 - 代碼案例三 - K-Means算法和Mini Batch K-Means算法效果評估
08 聚類算法 - 聚類算法的衡量指標
4描验、層次聚類算法
層次聚類算法的基本思想是:通過某種相似性測度計算節(jié)點之間的相似性白嘁,并按相似度由高到低排序,逐步重新連接個節(jié)點膘流。該方法的優(yōu)點是可隨時停止劃分絮缅。
09 聚類算法 - 層次聚類 - CF-Tree、BIRCH呼股、CURE
10 聚類算法 - 代碼案例四 - 層次聚類(BIRCH)算法參數(shù)比較
5耕魄、密度聚類算法
密度聚類算法的基本思想是:假定類別可以通過樣本分布的緊密程度決定。同一類別的樣本彭谁,他們之間的緊密相連的吸奴,也就是說,在該類別任意樣本周圍不遠處一定有同類別的樣本存在。通過將緊密相連的樣本劃為一類则奥,這樣就得到了一個聚類類別考润。通過將所有各組緊密相連的樣本劃為各個不同的類別,則我們就得到了最終的所有聚類類別結(jié)果读处。
11 聚類算法 - 密度聚類 - DBSCAN额划、MDCA
12 聚類算法 - 代碼案例五 - 密度聚類(DBSCAN)算法案例
6、譜聚類算法
譜聚類算法是建立在譜圖理論基礎(chǔ)上的档泽。與傳統(tǒng)的聚類算法相比俊戳,它具有能在任意形狀的樣本空間上聚類且收斂于全局最優(yōu)解的優(yōu)點。譜聚類算法建立在圖論中的譜圖理論基礎(chǔ)上馆匿,其本質(zhì)是將聚類問題轉(zhuǎn)化為圖的最優(yōu)劃分問題抑胎,是一種點對聚類算法,對數(shù)據(jù)聚類具有很好的應(yīng)用前景渐北。
圖論的這個算法一般在自然語言處理中用得比較多阿逃。