聚類分析算法解析_第1頁
聚類分析算法解析_第2頁
聚類分析算法解析_第3頁
聚類分析算法解析_第4頁
聚類分析算法解析_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

_聚類分析算法解析一、不相似矩陣計算1.加載數(shù)據(jù)data(iris)str(iris)分類分析是無指導的分類,所以刪除數(shù)據(jù)中的原分類變量。謝謝閱讀iris$Species<-NULL不相似矩陣計算不相似矩陣計算,也就是距離矩陣計算,在R中采用dist()函數(shù),或者cluster包中的感謝閱讀daisy()函數(shù)。dist()函數(shù)的基本形式是dist(x,method="euclidean",diag=FALSE,upper=FALSE,p=2)精品文檔放心下載其中x是數(shù)據(jù)框(數(shù)據(jù)集),而方法可以指定為歐式距離 "euclidean",最大距離精品文檔放心下載"maximum",絕對值距離"manhattan","canberra",二進制距離非對稱"binary"和明氏感謝閱讀距離"minkowski"。默認是計算歐式距離,所有的屬性必須是相同的類型。比如都是連續(xù)類謝謝閱讀型,或者都是二值類型。dd<-dist(iris)str(dd)_距離矩陣可以使用as.matrix()函數(shù)轉(zhuǎn)化了矩陣的形式,方便顯示。Iris數(shù)據(jù)共150例感謝閱讀樣本間距離矩陣為150行列的方陣。下面顯示了1~5號樣本間的歐式距離。謝謝閱讀dd<-as.matrix(dd)二、用hclust()進行譜系聚類法(層次聚類)1.聚類函數(shù)R中自帶的聚類函數(shù)是hclust(),為譜系聚類法?;镜暮瘮?shù)指令是感謝閱讀結(jié)果對象<-hclust(距離對象,method=方法)感謝閱讀hclust()可以使用的類間距離計算方法包含離差法"ward",最短距離法"single",最大感謝閱讀距離法"complete",平均距離法"average","mcquitty",中位數(shù)法"median"和重心法謝謝閱讀"centroid"。下面采用平均距離法聚類。hc<-hclust(dist(iris),method="ave")感謝閱讀_2.聚類函數(shù)的結(jié)果聚類結(jié)果對象包含很多聚類分析的結(jié)果,可以使用數(shù)據(jù)分量的方法列出相應的計算結(jié)精品文檔放心下載果。str(hc)下面列出了聚類結(jié)果對象hc包含的merge和height結(jié)果值的前6個。其行編號表示謝謝閱讀聚類過程的步驟,X1,X2表示在該步合并的兩類,該編號為負代表原始的樣本序號,編號精品文檔放心下載為正代表新合成的類;變量height表示合并時兩類類間距離。比如第1步,合并的是樣本精品文檔放心下載102和143,其樣本間距離是0.0,合并后的類則使用該步的步數(shù)編號代表,即樣本-102精品文檔放心下載和-143合并為1類。再如第6行表示樣本11和49合并,該兩個樣本的類間距離是0.1,謝謝閱讀合并后的類稱為6類。head(hc$merge,hc$height)下面顯示的聚類結(jié)果對象hc包含的merge和height結(jié)果值的50~55步的結(jié)果。第謝謝閱讀50步結(jié)果表明樣本43與13類(即第13步的聚類合類結(jié)果)合并。所有的類編號負數(shù)j感謝閱讀表示原數(shù)據(jù)的樣本編號,正數(shù)i表示聚類過程的第i步形成的新類。再如54步,表示聚類精品文檔放心下載_過程第7步和第37步形成的類合并為新類,新類成為第54類,其類間距離是0.2641715。精品文檔放心下載data.frame(hc$merge,hc$height)[50:55]謝謝閱讀3.繪制聚類圖聚類完成后可以使用plot()繪制出聚類的樹圖。plot(hc,hang=-1,labels=iris$Species)精品文檔放心下載4.指定分類和類中心聚類通過觀察樹形圖,可見由于數(shù)據(jù)例很多,使圖形很亂,不容易確定合理的分類,為簡化感謝閱讀圖形,使用cutree()來確定最初的分類結(jié)果,先初步確定各個樣本的最初分類的類數(shù)后,然感謝閱讀_后用hclust()再次聚類,重新聚類后,得出最后的分類結(jié)果。感謝閱讀memb<-cutree(hc,k=10)#確定10個分類精品文檔放心下載table(memb)#各類中的樣本數(shù)為了進行重新聚類,需要計算各類的類中心的類中心,這里用各類的均向量來代表各類謝謝閱讀的類中心,計算程序如下。cent<-NULLfor(kin1:10){cent<-rbind(cent,colMeans(irisSample[memb==k,,drop=FALSE]))謝謝閱讀}有了各類的類中心后,再次使用hclust()函數(shù),從10類起重新開始聚類。hclust()函數(shù)謝謝閱讀這時需要指定各類的類中心,并采用中心法來聚類。hc1<-hclust(dist(cent),method="centroid",members=table(memb))謝謝閱讀plot(hc1)_hc1再次聚類的樹形圖就很精簡了。從樹形圖上看,確定為三類是比較合適的。謝謝閱讀4.輸出最終分類結(jié)果使用cutree()來確定輸出各個樣本的最后分類。精品文檔放心下載memb<-cutree(hc,k=3#確定3個分類感謝閱讀table(memb)#各類中的樣本數(shù)下面將聚類結(jié)果和原始的分類比較可見聚類結(jié)果是不錯的。錯誤率約為謝謝閱讀14/150=9.33%。_5.直接數(shù)據(jù)距離陣聚類可以直接輸入距離矩陣,然后用as.dist()函數(shù)轉(zhuǎn)為hclust()可以使用的距離陣對象,然感謝閱讀后再用hclust()再進行聚類分析。x<-read.table(text="idBAFIMIVORMTOBA0662877255412996FI6620295468268400MI8772950754564138VO2554687540219869RM4122685642190669TO 996 400 138 869 669 0",header=T)精品文檔放心下載s(x)<-x$idx$id<-NULLx轉(zhuǎn)換為距離陣。_x<-as.dist(x)hc<-hclust(x)顯示聚類過程。data.frame(hc$merge,hc$height)感謝閱讀繪制聚類圖。plot(hc2)_從聚類圖可見聚為兩類比較合適。cutree(hc2,2)所以BA、VO、RM聚為1類而TO、FI、MI聚為另一類。謝謝閱讀四、使用cluster包進行聚類分析1.計算距離矩陣除了可以使用dist()函數(shù)外,加載了cluster包后還可以使用daisy()函數(shù),該函數(shù)可以謝謝閱讀使用的數(shù)據(jù)類型更多一些。當原始數(shù)據(jù)表中包含的數(shù)據(jù)是混合型即屬性變量既有有連續(xù)又有精品文檔放心下載分類的時候,dist()計算就不夠完美,而采用daisy()函數(shù)就可以毫無問題。使用daisy()必感謝閱讀須加載cluster包。第一次使用還必須安裝。install.packages(‘cluster’,repos=’htt//25/rpkg)謝謝閱讀library(cluster)daisy()函數(shù)的形式和dist()相似,可以采用的距離包含歐式距離"euclidean",絕對值距謝謝閱讀離和"manhattan","gower"。dd2<-daisy(iris)dd2<-as.matrix(dd1)_2.使用agens()聚類cluster包提供了兩種層次聚類的方法,一種是abottom-up自底而上,采用先將數(shù)謝謝閱讀據(jù)樣本先各自看成一類,然后通過合并法的聚類過程,最終形成一個大類,包含全部樣本,謝謝閱讀agnes()函數(shù)完成這個功能,這個稱為合并層次聚類。而diana()則采用相反的方法,即a感謝閱讀top-down自頂而下,先將所有樣本看成一類,然后通過分裂類的過程將樣品最終分為各精品文檔放心下載自樣本類,這個稱為分裂法。agens()函數(shù)的形式是agnes(x,diss=TRUE|FALSE,metric="euclidean",stand=FALSE|TRUE,精品文檔放心下載method="average",par.method,keep.diss=n<100,keep.data=!diss)感謝閱讀其中的diss指定x對象是否是不相似矩陣對象,與hclust()函數(shù)不同,agnes()既可以謝謝閱讀使用原始數(shù)據(jù)也可以采用距離陣。stand是要求對數(shù)據(jù)進行標準化,而可以采用的類間距離感謝閱讀計算方法有“average”平均法,“UPGMA”,“single”最短距離法,“complete”最大謝謝閱讀距離法,“ward”離差法,“weighted”權重平均距離法和“flexible”彈性法。keep.diss謝謝閱讀和keep.data指定在結(jié)果中是否保留不相似矩陣和數(shù)據(jù),保留這些結(jié)果需要更多的內(nèi)存。精品文檔放心下載ag<-agnes(iris,diss=F,metric="euclidean",stand=F,method="single")精品文檔放心下載_data.frame(ag

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論