python層次聚類選擇類別 聚類分析 系統聚類

2021-10-14 00:05:38 字數 1295 閱讀 5651

聚類就是按照某個特定標準把乙個資料集分割成不同的類或簇,最後的結果是希望同類之間的差異性盡可能小,不同類之間的差異性盡可能大。不同的類具有能夠表達異於其他類的指標,這樣針對不同的類,後續就能採取不一樣的處理手段。聚類的應用場景的比較多,比如建立客戶畫像、商品聚類、離群值檢驗等等;與分類演算法不一樣,聚類屬於非監督學習演算法,其演算法型別也很多,系統聚類是相對其他較簡單的一種了,下面就了解其大概:

(一)系統聚類也稱為層次聚類,因為其結果會呈現顯著的層次結構,通常分為自底向上和自頂向下,兩種方法的原理是相同的,區別在於計算的方向是相反的。

(二)聚類的方法我們知道之後,接下來就是關鍵問題定義距離。在聚類時常見的距離定義方法有絕對值距離、歐式距離、閔可夫距離、切比雪夫距離等等,最常用的就是歐式距離(這個之前在說近鄰演算法的有介紹過)

(三)距離定義的問題解決之後,就輪到怎麼樣確定兩個類之間的距離是多少,通常確定的方法有最短距離法、最長距離法、中間距離法、類平均法、重心法和離差平方法。

在r語言中,hclust函式能夠實現系統聚類,輸入項為距離矩陣(可以由dist函式計算所得),設定method可實現不同演算法:

我們還是以iris資料集為例,簡單說一下我們在r語言中如何實現系統聚類:

#最長距離法

dt = dist(iris[,1:3])

clr = hclust(dt)

# 繪製系譜圖

plot(clr, hang = -1)

#具體的分類明細/3個類別

系譜圖

將資料集劃分為3個類別

聚類演算法 層次聚類演算法

層次聚類演算法 hierarchical clustering method 又稱為系統聚類法 分級聚類法。層次聚類演算法又分為兩種形式 凝聚層次聚類 首先將每個物件作為乙個簇,然後合併這些原子簇為越來越大的簇,直到某個終結條件被滿足。層次聚類 首先將所有物件置於乙個簇中,然後逐漸細分為越來越小的簇...

聚類之層次聚類 基於劃分的聚類(

目錄 一層次聚類 層次聚類的原理及分類 層次聚類的流程 層次聚類的優缺點 二劃分聚類法k means kmeans演算法的原理 k均值的優缺點及分類 k means與dbscan的區別 k means注意問題 三基於密度的聚類 dbscan的概念 簇的生成原理及過程 根據資料點的密度分為三類點 db...

k means聚類,密度聚類,層次聚類優缺點

k means 優點 1,簡單,易於理解和實現 2,時間複雜度低 缺點 1,需要對均值給出定義,2,需要指定要聚類的數目 3,一些過大的異常值會帶來很大影響 4,演算法對初始選值敏感 5,適合球形聚類 層次聚類 優點 1,距離和規則的相似度容易定義,限制少 2,不需要預先制定聚類數 3,可以發現類的...