亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        數(shù)據(jù)挖掘中三種典型聚類算法的分析比較

        2020-07-04 02:15:25李煜堃
        電腦知識(shí)與技術(shù) 2020年15期
        關(guān)鍵詞:means算法聚類

        李煜堃

        摘要:大數(shù)據(jù)時(shí)代從大量無(wú)序的數(shù)據(jù)中發(fā)現(xiàn)隱含的、有效的、有價(jià)值的、可理解的模式變得越發(fā)重要。在此背景下,以數(shù)據(jù)挖掘眾多算法中的聚類算法為切人點(diǎn),選取三種典型的聚類算法——K-means算法、AGNES算法、DBSCAN算法,進(jìn)行可視化聚類結(jié)果和FMI值比較分析,歸納出DBSCAN算法可以發(fā)現(xiàn)任意形狀的簇類,AGNES算法和K-Means算法在中小型數(shù)據(jù)集中挖掘得到球形簇的效果較好。

        關(guān)鍵詞:聚類;K-means算法;AGNES算法;DBSCAN算法

        中圖分類號(hào):TP301 文獻(xiàn)標(biāo)識(shí)碼:A

        文章編號(hào):1009-3044(2020)15-0052-05

        1引言

        聚類是通過(guò)發(fā)現(xiàn)數(shù)據(jù)集中數(shù)據(jù)之間的相關(guān)關(guān)系,將數(shù)據(jù)分類到不同的類或簇的過(guò)程。聚類并不關(guān)心某一類別的信息,其目標(biāo)是將相似的樣本聚在一起,實(shí)現(xiàn)同一類對(duì)象的相似度盡可的大,而不同類對(duì)象之間的相似度盡可能地小。因此,聚類算法只需要知道如何計(jì)算樣本之間的相似性,就可以對(duì)數(shù)據(jù)進(jìn)行聚類。

        目前聚類的方法很多,根據(jù)基本思想的不同,大致可以將聚類算法分為五大類:層次聚類算法、分割聚類算法、基于約束的聚類算法、機(jī)器學(xué)習(xí)中的聚類算法和用于高維度的聚類算法。

        選取劃分聚類算法中傳統(tǒng)的K-means算法、層次聚類算法中具有代表性的AGNES算法以及典型的基于密度的聚類算法DBSCAN等三種算法對(duì)不同數(shù)據(jù)集的聚類效果進(jìn)行分析,歸納不同聚類算法優(yōu)缺點(diǎn)。

        2算法相關(guān)理論

        2.1 K-means算法的基本原理及實(shí)現(xiàn)步驟

        2.1.1 K-means算法的基本原理

        K-Means是典型的劃分聚類算法,其中K表示的是聚類為k個(gè)簇,Means代表取每一個(gè)聚類中數(shù)據(jù)值的均值作為該簇的中心,或者稱為質(zhì)心,即用每一個(gè)類的質(zhì)心對(duì)該簇進(jìn)行描述。

        K-Means算法的原理是對(duì)于給定的數(shù)據(jù)集,按照各數(shù)據(jù)點(diǎn)之間的距離大小關(guān)系,將數(shù)據(jù)集戈0分為K個(gè)簇。目標(biāo)是實(shí)現(xiàn)簇內(nèi)的點(diǎn)盡可能緊密的連在一起,而讓簇間的各點(diǎn)之間的距離盡可能大。在這里,距離是指各點(diǎn)之間的歐式距離。

        2.1.2 K-means算法的實(shí)現(xiàn)步驟

        第一步:在樣本數(shù)據(jù)集中任選k個(gè)樣本點(diǎn)作為初始的簇心;

        第二步:掃描每個(gè)樣本點(diǎn),求該樣本點(diǎn)到各個(gè)簇心之間的距離,選擇其中最短距離的簇心,并將樣本點(diǎn)歸入該簇心所表示的類;

        第三步:分別對(duì)每個(gè)類中的所有樣本點(diǎn)求均值,作為新的簇心;

        第四步:重復(fù)第二步和第三步,直至達(dá)到最大迭代次數(shù),或者更新后的簇心與原來(lái)的簇心幾乎吻合(形成不動(dòng)點(diǎn))。

        2.2 AGNES算法的基本原理及實(shí)現(xiàn)步驟

        2.2.1 AGNES算法的基本原理

        AGNES算法是具有代表性的層次聚類方法,采用自底向上聚合策略的算法。其思想是最初將每個(gè)對(duì)象作為一個(gè)簇,然后這些簇根據(jù)某些準(zhǔn)則被一步步地合并。兩個(gè)簇間的相似度有多種不同的計(jì)算方法。聚類的合并過(guò)程反復(fù)進(jìn)行直到所有對(duì)象最終滿足簇?cái)?shù)目。

        2.2.2 AGNES算法的實(shí)現(xiàn)步驟

        第一步:將每個(gè)對(duì)象當(dāng)成一個(gè)初始簇;

        第二步:

        REPEAT

        計(jì)算任意兩個(gè)簇的距離,并找到最近的兩個(gè)簇;

        合并兩個(gè)簇,生成新的簇的集合;

        UNTIL終止條件得到滿足。

        終止條件:

        (1)設(shè)定一個(gè)最小距離閾值d,如果最相近的兩個(gè)簇間的距離已經(jīng)超過(guò)d,則無(wú)須合并,即聚類終止。

        (2)限定簇的個(gè)數(shù)k,當(dāng)?shù)玫降拇氐膫€(gè)數(shù)已經(jīng)達(dá)到k,則聚類終止。

        2.3 DBSCAN算法的基本原理及實(shí)現(xiàn)步驟

        2.3.1 DBSCAN算法的基本原理

        DBSCAN算法是一種基于密度的數(shù)據(jù)聚類方法,也是較常用的聚類方法。該算法將具有足夠密度的區(qū)域劃分為簇,不斷生長(zhǎng)該區(qū)域。其基于一個(gè)事實(shí):一個(gè)聚類可以由其中的任何核心對(duì)象唯一確定。

        DBSCAN算法利用基于密度的聚類的概念,要求聚類空間中一定區(qū)域內(nèi)(eps范圍內(nèi))所包含對(duì)象(點(diǎn)或其他空間對(duì)象)的數(shù)目不小于某一給定閾值(MinPts)。該算法能夠在具有噪聲的空間數(shù)據(jù)集中發(fā)現(xiàn)任意形狀的簇,并且可將密度足夠大的相鄰區(qū)域連接,從而對(duì)異常數(shù)據(jù)實(shí)現(xiàn)有效處理。其中,最重要的兩個(gè)參數(shù)為:掃描半徑(eps)和最小包含點(diǎn)數(shù)(MinPts)。

        2.3.2 DBSCAN算法的實(shí)現(xiàn)步驟

        第一步:DBSCAN通過(guò)檢查數(shù)據(jù)集中各個(gè)點(diǎn)的eps鄰域來(lái)搜索簇,如果點(diǎn)p的eps鄰域包含的點(diǎn)多于MinPts個(gè),則創(chuàng)建一個(gè)以p為核心對(duì)象的簇;

        第二步:DBSCAN迭代地聚集從這些核心對(duì)象直接密度可達(dá)的對(duì)象,該過(guò)程可能涉及一些密度可達(dá)簇的合并;

        第三步:重復(fù)第一步和第二步,直到?jīng)]有新的點(diǎn)添加到任何簇時(shí),該過(guò)程結(jié)束。

        3三種典型聚類算法分析方式

        3.1分析方式

        考慮到針對(duì)不同的數(shù)據(jù)集,上述三種算法聚類得到的效果可能略有差異。選取兩種數(shù)據(jù)集:Iris Data Set和小規(guī)模的非凸數(shù)據(jù)集,對(duì)上述三種算法進(jìn)行簡(jiǎn)單的比較分析。

        為了評(píng)估各算法對(duì)數(shù)據(jù)集的聚類效果,采取兩種分析方式:一是可視化聚類結(jié)果;二是利用FMI值,來(lái)分析比較對(duì)已有標(biāo)簽數(shù)據(jù)集的聚類效果。

        3.2評(píng)估方式

        (1)可視化聚類結(jié)果:將得到的聚類結(jié)果繪制成二維圖像,與實(shí)際數(shù)據(jù)集圖像比較,大致觀察聚類效果。

        (2)FMI(Fowlkes-Mallows IndeX):對(duì)聚類結(jié)果和真實(shí)值計(jì)算得到的召回率和精確率進(jìn)行幾何平均的結(jié)果,取值范圍為[0,1],越接近1越好。故通過(guò)比較其值是否接近于1,來(lái)大致判斷聚類效果。

        4Iris Data Set比較效果

        為了分析比較上述三種算法的差異,選取了經(jīng)典的數(shù)據(jù)集Iris Data Set,通過(guò)評(píng)估三者對(duì)數(shù)據(jù)集的聚類效果,來(lái)分析各算法間的優(yōu)缺點(diǎn)。

        4.1IrisDataSet

        Iris Data Set(鳶尾屬植物數(shù)據(jù)集)是歷史比較悠久的數(shù)據(jù)集,也是聚類分析常用的數(shù)據(jù)集。它首次出現(xiàn)在著名的英國(guó)統(tǒng)計(jì)學(xué)家和生物學(xué)家Ronald Fisher 1936年的論文《The use of mul-tiple measurements in taxonomic problems》中,被用來(lái)介紹線性判別式分析。在這個(gè)數(shù)據(jù)集中,包括了三類不同的鳶尾屬植物:Iris Setosa,Iris Versicolour,Iris Virginica。每類分別收集了50個(gè)樣本,共包含了150個(gè)樣本。

        該數(shù)據(jù)集測(cè)量了所有150個(gè)樣本的4個(gè)特征,分別是:

        (1)sepal length(花萼長(zhǎng)度)

        (2)sepal width(花萼寬度)

        (3)petal length(花瓣長(zhǎng)度)

        (4)petal width(花瓣寬度)

        以上四個(gè)特征的單位都是厘米(ca)。

        通常使用m表示樣本量的大小,n表示每個(gè)樣本所具有的特征數(shù)。因此在該數(shù)據(jù)集中,m=150,n=4。

        利用該數(shù)據(jù)集4個(gè)特征中的前兩個(gè)f即花萼的長(zhǎng)度和寬度),來(lái)展示所有的樣本點(diǎn)。選取sepallength和sepalwidth為坐標(biāo)軸來(lái)繪制二維圖像,如圖1所示:

        4.2 K-Means算法聚類

        利用Python sklearn模塊中自帶的K-Means聚類模塊來(lái)對(duì)Iris Data Set進(jìn)行聚類分析。由于已經(jīng)知道數(shù)據(jù)集的分類數(shù)目(即K值)為3,故我們選取最終劃分成的簇?cái)?shù)n_clusters的值也為3。以此,選取最佳的K值來(lái)得到K-Means中的最佳聚類效果。本文選取sepallength和sepalwidth為坐標(biāo)軸來(lái)繪制二維圖像,可視化聚類結(jié)果如圖2所示:

        4.3 AGNES算法聚類

        利用Python sklearn模塊中自帶的Agglomerative Clustering聚類模塊來(lái)對(duì)Iris Data Set進(jìn)行聚類分析。由于已經(jīng)知道數(shù)據(jù)集的分類數(shù)目為3,故我們選取最終劃分成的簇?cái)?shù)n_clusters的值也為3。同時(shí)設(shè)置參數(shù)linkage的值為"waYd”,表示定義類之間的距離為其間的離差平方和。以此,近似得到AGNES中的最佳聚類效果。選取sepal length和sepal width為坐標(biāo)軸來(lái)繪制二維圖像,可視化聚類結(jié)果如圖3所示:

        比較實(shí)際分類的圖1和AGNES聚類得到的圖3,可以發(fā)現(xiàn)選取n_clusters值為3的AGNES聚類模型,能夠得到較符合實(shí)際的結(jié)果,即取得了較好的聚類效果。

        經(jīng)計(jì)算,簇?cái)?shù)為3時(shí)的AGNES聚類模型的FMI值為0.822170。

        4.4 DBSCAN算法聚類

        利用Pvthon sklearn模塊中自帶的DBSCAN聚類模塊來(lái)對(duì)Iris Data Set進(jìn)行聚類分析。DBSCAN需要兩個(gè)重要參數(shù):掃描半徑(eps)和形成高密度區(qū)域所需要的最少點(diǎn)數(shù)(MinPts)。MinPts的選取有一個(gè)指導(dǎo)性的原則,MinPts≥dim+1,其中dim表示待聚類數(shù)據(jù)的維度。由于已知數(shù)據(jù)集中每個(gè)樣本所

        具有的特征數(shù)為4,不妨設(shè)置MinPts為5。而設(shè)置掃描半徑eps為默認(rèn)值0.5。以此,初步觀察當(dāng)前DBSCAN聚類模型的聚類效果。選取sepal length和sepal width為坐標(biāo)軸來(lái)繪制二維圖像,可視化聚類結(jié)果如圖4所示:

        觀察圖4可知:因?yàn)镈BSCAN算法不需要預(yù)先指定聚類的類數(shù),所以最后得到的類數(shù)也不確定。而在選取掃描半徑eps為0.5H.最少點(diǎn)數(shù)MinPts為5時(shí)的DBSCAN聚類模型將該數(shù)據(jù)集聚成了兩類,與實(shí)際結(jié)果并不相符,即聚類效果不理想。

        經(jīng)計(jì)算,掃描半徑eps為0.5,最少點(diǎn)數(shù)MinPts為5時(shí)的DB-SCAN聚類模型的FMI值為0.705385。

        由于上述所得結(jié)果不理想,故簡(jiǎn)單調(diào)整其參數(shù)eps和Minpts,得到與之對(duì)應(yīng)的FMI值及相應(yīng)的聚類類數(shù),得到表1:

        選取eps=0.43、Minpts=7時(shí)的DBSCAN模型作為近似的DBSCAN算法的最佳聚類效果,如圖5所示。

        可見(jiàn),DBSCAN算法對(duì)eps及Minpts兩個(gè)參數(shù)極其敏感。在實(shí)際聚類的過(guò)程中,必須找到最佳的參數(shù)值,才能得到良好的聚類效果。否則,兩參數(shù)值的細(xì)微變化將會(huì)導(dǎo)致其聚類效果的較大差異。

        4.5分析比較

        根據(jù)三種算法的聚類效果,可以看出針對(duì)Iris Data Set,K-Means算法與AGNES算法的聚類結(jié)果近似,且優(yōu)于DBSCAN算法的聚類結(jié)果。

        其原因是DBSCAN算法很難通過(guò)觀察來(lái)得到合適的參數(shù)——掃描半徑eps和最少點(diǎn)數(shù)Minpts。而上述參數(shù)值的細(xì)微變化,又會(huì)導(dǎo)致聚類結(jié)果產(chǎn)生較大差異。故,DBSCAN算法的關(guān)鍵便是找到合適的參數(shù)——eps和Minpts。

        進(jìn)一步考慮參數(shù)簇?cái)?shù)n_clusters的選取,分析其對(duì)K-Means模型和AGNES模型的聚類效果的影響程度,通過(guò)列出簇?cái)?shù)n_clusters與之對(duì)應(yīng)的FMI值表格,來(lái)度量其間的影響程度如表2所示:

        可見(jiàn),K-Means算法與AGNES算法雖然也需要明確參數(shù)簇?cái)?shù)n_clusters,但兩者對(duì)參數(shù)不會(huì)像DBSCAN算法那樣敏感。此外,在某些領(lǐng)域中,可以通過(guò)觀察來(lái)確定簇?cái)?shù)的大致范圍。

        5小規(guī)模非凸數(shù)據(jù)集比較效果

        利用Python sklearn模塊中自帶的make_moons函數(shù)和make_blobs函數(shù),加入高斯噪聲來(lái)生成小規(guī)模的非凸數(shù)據(jù)集,其各樣本點(diǎn)分布如圖6所示。構(gòu)造的數(shù)據(jù)集的樣本量大小為2000,每個(gè)樣本所具有的特征數(shù)為2,整體大致分為三類。

        5.1 K-Means算法聚類

        依據(jù)上一部分的發(fā)現(xiàn),k-means依賴于K值的選取。于是選取K值為3,來(lái)近似得到K-Means的最佳聚類效果。K-Means模型的聚類效果如圖7所示。

        可見(jiàn),K-Means算法對(duì)噪聲和離群值非常敏感,對(duì)非凸區(qū)域的鑒別效果不理想。查閱資料可知:

        K-Means算法需要數(shù)據(jù)符合以下三個(gè)條件,才能得到較為良好的聚類效果:

        (1)數(shù)據(jù)集中每個(gè)變量的方差基本上要保持相同

        (2)每一個(gè)cluster中每個(gè)變量都近似正態(tài)分布(或者眾數(shù)等于中位數(shù)的對(duì)稱分布)

        (3)每一個(gè)cluster中的元素個(gè)數(shù)要基本相同

        其中,條件1和條件2幾乎保證每個(gè)cluster看起來(lái)像是球形而不是橢球形。上述三個(gè)條件,會(huì)使K-Means算法傾向于得到大小接近的凸型cluster。故,K-Means算法對(duì)非凸數(shù)據(jù)集的聚類效果不佳。

        5.2 AGNES算法聚類

        由于已經(jīng)知道數(shù)據(jù)集的分類數(shù)目為3,故選取最終劃分成的簇?cái)?shù)n_clusters的值也為3。同時(shí)設(shè)置參數(shù)linkage的值為“ward”,表示定義類之間的距離為其間的離差平方和。以此,近似得到AGNES算法的最佳聚類效果。AGNES模型的聚類效果如圖8所示:

        可見(jiàn)基于此數(shù)據(jù)集,AGNES算法的聚類效果略優(yōu)于K-Means算法,但其對(duì)非凸數(shù)據(jù)集并不能起到很好的聚類效果。

        5.3 DBSCAN算法聚類

        依據(jù)上一部分的發(fā)現(xiàn),DBSCAN算法對(duì)參數(shù)eps和Minpts是較為敏感的。為了獲得近似最佳的DBSCAN模型的聚類效果,通過(guò)調(diào)整兩個(gè)參數(shù)值,以找到最符合實(shí)際劃分的DBSCAN模型。

        當(dāng)選取eps=0.5,Minpts=5時(shí),整個(gè)數(shù)據(jù)集被聚成了一個(gè)大類,如圖9所示:

        當(dāng)選取eps=0.1,Minpts=5時(shí),整個(gè)數(shù)據(jù)集被很好地分為三個(gè)類別,符合實(shí)際觀察情況,如圖10所示。

        可見(jiàn):DBSCAN算法能夠發(fā)現(xiàn)任意形狀的簇類,無(wú)論數(shù)據(jù)集本身是凸還是非凸,也能夠識(shí)別噪聲。但聚類的效果與參數(shù)的選取有較大關(guān)系。

        6結(jié)論

        6.1 K-Means算法與AGNES算法比較

        K-Means算法的時(shí)間復(fù)雜度和空間復(fù)雜度都較低,即使對(duì)于大型數(shù)據(jù)集,也是簡(jiǎn)單高效的。而AGNES算法的時(shí)間復(fù)雜度高,并不適合大型數(shù)據(jù)集。此外,對(duì)于AGNES算法一旦凝聚形成了新簇,就不會(huì)對(duì)此再發(fā)生更改。雖然,k-means算法與AGNES算法都需要指定劃分的簇?cái)?shù),但由于k-means算法需要挑選初始中心點(diǎn),故其對(duì)初始值的設(shè)置很敏感。一般而言,上述兩種算法都對(duì)非凸數(shù)據(jù)集無(wú)法起到良好的聚類效果,但在中小型數(shù)據(jù)集中挖掘得到球形簇的效果較好。

        6.2 K-Means算法與DBSCAN算法比較

        與K-Means算法相比,DBSCAN算法不需要明確K值,即不需要事先指定形成簇類的數(shù)量。此外,DBSCAN算法可以發(fā)現(xiàn)任意形狀的簇類,也能夠識(shí)別出噪聲點(diǎn)。而K-Means算法對(duì)噪聲和離群值非常敏感,并且對(duì)非凸數(shù)據(jù)集的聚類效果不佳。當(dāng)數(shù)據(jù)集較大時(shí),K-Means算法容易陷入局部最優(yōu)。雖然DB—SCAN算法具有眾多優(yōu)點(diǎn),但其對(duì)兩個(gè)參數(shù)eps和Minpts的設(shè)置卻非常敏感,導(dǎo)致聚類的效果與參數(shù)值的選取有較大關(guān)系。

        6.3 AGNES算法與DBSCAN算法比較

        AGNES算法可解釋性好,能產(chǎn)生高質(zhì)量的聚類,但其時(shí)間復(fù)雜度較高,不適合大型數(shù)據(jù)集。同時(shí),AGNES算法與K-Means算法類似,傾向于得到凸型的cluster,對(duì)非凸數(shù)據(jù)集并不能得到較好的聚類效果。而DBSCAN算法可以發(fā)現(xiàn)任意形狀的簇類。

        7結(jié)語(yǔ)

        K-means算法、AGNES算法、DBSCAN算法分別是聚類算法中基于劃分、層次、密度的三種典型算法。通過(guò)對(duì)上述三種算法的簡(jiǎn)單分析比較,我們可以依據(jù)實(shí)際情況選取最為合適的算法對(duì)數(shù)據(jù)集進(jìn)行聚類,從而得到最佳的效果。

        猜你喜歡
        means算法聚類
        基于K-means聚類的車-地?zé)o線通信場(chǎng)強(qiáng)研究
        基于DBSACN聚類算法的XML文檔聚類
        SIFT算法在木材紋理分類上的應(yīng)用
        條紋顏色分離與聚類
        基于K—Means聚類算法入侵檢測(cè)系統(tǒng)研究
        基于Weka的Apriori算法在原油產(chǎn)量預(yù)測(cè)中的應(yīng)用
        基于HSI顏色空間的小麥粉精度自動(dòng)識(shí)別研究
        基于Spark平臺(tái)的K-means聚類算法改進(jìn)及并行化實(shí)現(xiàn)
        基于聚類的Web日志挖掘
        一種層次初始的聚類個(gè)數(shù)自適應(yīng)的聚類方法研究
        无码人妻丰满熟妇啪啪7774| 99riav精品国产| 国产精品人人爱一区二区白浆| 人妻经典中文字幕av| 亚洲av无码无限在线观看| 永久免费的av在线电影网无码 | 日韩av中文字幕少妇精品| 久久综合精品人妻一区二区三区| 极品少妇一区二区三区四区| 亚洲精品天堂日本亚洲精品| 亚洲国产熟女精品传媒| 亚洲av综合永久无码精品天堂 | 最新国产精品久久精品| 国产AV无码专区久久精品网站| 久久综合一本中文字幕| 91精品国自产拍老熟女露脸| 97在线观看播放| 国产精品无码一区二区在线国| 久久精品国产亚洲av调教| 国产三a级三级日产三级野外| 国产女人高潮视频在线观看| 亚洲aⅴ无码国精品中文字慕| 亚洲成在人网站天堂日本| 亚洲a∨无码精品色午夜| 伊人久久无码中文字幕| 欧洲AV秘 无码一区二区三| 中文字幕高清不卡视频二区| 国产三级久久精品三级91| 欧美俄罗斯40老熟妇| 国产AV无码一区精品天堂| 国产视频免费一区二区| 一本久久综合亚洲鲁鲁五月天| 综合三区后入内射国产馆| 91久久精品一二三区蜜桃| 久久黄色国产精品一区视频| 疯狂撞击丝袜人妻| 无码一区东京热| 国产三级av大全在线爽| 久久香蕉国产线看观看精品yw| 国产成人啪精品| 男女性生活视频免费网站|