日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

聚类算法(2):系统聚类/层次聚类算法

發(fā)布時間:2025/3/21 windows 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 聚类算法(2):系统聚类/层次聚类算法 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
  • 層次聚類:自下而上法(bottom-up)和自上而下法(top-down)

? ? ? ?聚類算法(4)--Hierarchical clustering層次聚類

  • 系統(tǒng)聚類:相當于自下而上法,也就是層次聚類

目錄

一、系統(tǒng)聚類? ? ??

1. 系統(tǒng)聚類實現(xiàn)的一般步驟

2. 常用的距離

3. 類間距離

二、手動實現(xiàn)過程

三、代碼實現(xiàn)

1. R語言

2. Python代碼


?一、系統(tǒng)聚類? ? ??

? ? ? ? ?系統(tǒng)聚類法是目前國內(nèi)外使用比較多的一種聚類方法,其實現(xiàn)方式是:它首先將每個樣本單獨看成一類,在規(guī)定類間距離的條件下,選擇距離最小的一對合并成一個新類,并計算新類與其他類之間的距離,再將距離最近的兩類合并,這樣每次會減少一個類,直到所有的樣本合為一類為止。

1. 系統(tǒng)聚類實現(xiàn)的一般步驟

(1)將每個樣品看成一類
(2)計算類間距離矩陣,并將距離最近的兩類合并成為一個新類
(3)計算新類與當前各類之間的距離。若類的個數(shù)等于1,則進行下一步,否則轉到第2步
(4)畫聚類圖
(5)決定聚類數(shù)目和類別

2. 常用的距離

? ? ? ? 包括:絕對值距離、歐氏距離、明氏距離、切比雪夫距離、馬氏距離、蘭氏距離、余弦距離。

? ? ? ? ??

? ? ? ? ? ??

3. 類間距離

? ? ? ?類間距離也有很多定義方法,主要有:類平均法、可變類平均法、可變法、重心法、中間距離法、最長距離法、最短距離法、離差平方法。

? ? ? ? ? ? ?? ? ??

? ? ? ? ? ? ? ??

二、手動實現(xiàn)過程

? ? ? ?選擇適當?shù)臉颖揪嚯x和類間距離計算方法,便可從每樣本作為單獨類開始逐漸合并,最終合為一類。這里,使用表3-5-4的數(shù)據(jù),以歐氏距離作為衡量樣本間距離的標準,以最短距離法作為衡量類間距離的標準,來說明系統(tǒng)聚類的手動計算過程。

? ? ? ? ? ? ? ? ? ? ? ? ? ???

? ??

??

三、代碼實現(xiàn)

1. R語言

? ? ? 在R語言中,通常使用hlst函數(shù)來做系統(tǒng)聚類,它的定義及參數(shù)說明如表3-5-6所示。

? ? ? ? ? ??

? ?使用K-Means算法對AirPassagers的年度標準曲線進行聚類,旨在發(fā)現(xiàn)乘客數(shù)據(jù)的年度變化模式,代碼如下:??

#重構數(shù)據(jù) ap.data<-t(mapply(function(i){AirPassengers[(12*(i-1)+1):(i*12)]},1:12))#標準化曲線 ap.data.std<-t(apply(ap.data,1,function(x){(x-min(x))/(max(x)-min(x))}))#使用hclust函數(shù)進行聚類 hc<-hclust(dist(ap.data.std),method="ward.D2") plot(hc) rect.hclust(hc,k=2) # 加上劃分矩形框#設置類標簽 ap.data.std<-cbind(ap.data.std,cutree(hc,k=2))#畫出曲線圖 plot(1:12,1:12,col='white',ylim=c(0,1)) for(i in 1:nrow(ap.data.std)) {lines(1:12,ap.data.std[i,1:12],col=ap.data.std[i,13]+2) }

效果圖如下:?

? ? ? ? ? ? ? ? ? ? ??

? ? ? ? ? ? ? ?? ? ? ? ?

2. Python代碼

總結

以上是生活随笔為你收集整理的聚类算法(2):系统聚类/层次聚类算法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。