本發(fā)明涉及計(jì)算機(jī)數(shù)據(jù)挖掘及處理技術(shù)領(lǐng)域,尤其涉及一種基于密度峰值的混合屬性數(shù)據(jù)聚類方法。
背景技術(shù):
聚類分析一直是數(shù)據(jù)挖掘和機(jī)器學(xué)習(xí)領(lǐng)域中的研究熱點(diǎn)之一,隨著大數(shù)據(jù)時(shí)代的發(fā)展,各類數(shù)據(jù)層出不窮,其中大部分是同時(shí)具有數(shù)值和分類等多種屬性類型的數(shù)據(jù),傳統(tǒng)的聚類算法如k-means等主要是針對(duì)數(shù)值屬性數(shù)據(jù)的聚類算法。為了處理混合屬性數(shù)據(jù)聚類問題,研究人員提出了各種各樣的解決方案,按其處理思路可主要分為傳統(tǒng)的類型轉(zhuǎn)換方法、聚類融合方法、基于原型的方法和基于密度的方法、基于層次的方法等。
類型轉(zhuǎn)換的方法就是將其他屬性轉(zhuǎn)換為某種屬性再進(jìn)行聚類,如david和averbuch提出的spectralcat算法,這個(gè)方法首先把數(shù)值屬性轉(zhuǎn)換成分類屬性,然后使用譜聚類方法處理轉(zhuǎn)換后的數(shù)據(jù)。
聚類融合的思想是采用多種算法對(duì)一組對(duì)象進(jìn)行劃分,將不同算法得出的結(jié)果采用共識(shí)函數(shù)加以合并以得出最終的聚類結(jié)果。其最早由a.strehl和j.ghosh于2002年提出,隨后成為混合屬性聚類的主流方法之一。趙宇等提出了一種基于聚類融合的混合屬性聚類算法cemc,將聚類融合的方法體系引入混合屬性數(shù)據(jù)聚類問題中。he等提出了基于聚類融合和squeezer算法的混合屬性聚類算法cebmdc,該算法針對(duì)分類屬性子集聚類和最后的聚類融合都采用了squeezer算法進(jìn)行。
huang于1997年提出的k-prototypes(k原型)算法,該算法采用k-means算法的基本思想,將數(shù)值屬性的聚類中心和分類屬性的模式組合起來,構(gòu)建了一個(gè)新的混合屬性數(shù)據(jù)中心即原型(prototype),并以原型為基礎(chǔ)構(gòu)建了一個(gè)針對(duì)混合屬性數(shù)據(jù)的距離度量公式和代價(jià)函數(shù),采用k-means算法類似的聚類過程直接對(duì)混合屬性進(jìn)行聚類。基于原型的算法思想簡(jiǎn)單,效率高,其關(guān)鍵是在于數(shù)據(jù)元組之間的距離度量公式的定義。yiu-mingcheung等提出了一種統(tǒng)一相似性度量(unifiedsimilaritymetric)方法,將數(shù)值屬性部分的距離度量進(jìn)行歸一化處理,使相似性度量的值約束在[0,1]區(qū)間,然后將各分類屬性的相似性度量分別賦予權(quán)重并進(jìn)行歸一化處理,最后獲得一個(gè)統(tǒng)一的距離度量公式?;诖斯?,他們提出了一種迭代算法ocil來對(duì)混合屬性數(shù)據(jù)進(jìn)行聚類,同時(shí),通過引入競(jìng)爭(zhēng)和懲罰機(jī)制,對(duì)ocil進(jìn)行了進(jìn)一步的改進(jìn),提出了能夠自動(dòng)判別聚類數(shù)目的混合屬性聚類算法(pcl-oc)。他們將ocil算法與k-prototypes算法進(jìn)行了實(shí)驗(yàn)比較,其聚類精度有較大提高,但其統(tǒng)一度量值的計(jì)算復(fù)雜度較高。
li和biswas提出了sbac(similaritybasedagglomerativeclustering)算法[i],這是基于goodall相似度的凝聚層次聚類算法,該方法效果不錯(cuò),但計(jì)算復(fù)雜度高于o(n2*logn)。
黃德才等提出的rdbc_m算法采用了面向維度的距離公式,對(duì)每一維單獨(dú)計(jì)算距離,對(duì)數(shù)值屬性采用歐氏距離,對(duì)分類屬性則通過專家打分的方式為該屬性不同值之間的相似性定義一個(gè)距離矩陣來衡量維度距離,其構(gòu)建需要人工打分。
陳晉音等提出的mdcden算法和dc-mdacc算法均是將混合屬性數(shù)據(jù)分為數(shù)值占優(yōu)、分類占優(yōu)和均衡型混合屬性數(shù)據(jù)三類,然后針對(duì)每一類定義不同的距離度量函數(shù)。它們需要先對(duì)數(shù)據(jù)集進(jìn)行占優(yōu)分析。
上述基于原型的方法仍存在需要確定聚類個(gè)數(shù)、對(duì)簇中心的選取敏感、不能發(fā)現(xiàn)任意形狀的簇以及對(duì)異常點(diǎn)比較敏感等缺點(diǎn);基于層次的方法存在時(shí)間和空間復(fù)雜度較高、聚類過程不可逆的缺點(diǎn);rdbc_m算法中的分類屬性的相似度度量需要領(lǐng)域?qū)<业脑u(píng)價(jià)賦值;mdcden算法需要調(diào)節(jié)三個(gè)參數(shù)來獲得較佳結(jié)果。
2014年,alexrodriguez和alessandrolaio在《science》雜志上發(fā)表了一種快速搜索和發(fā)現(xiàn)密度峰值的聚類算法(本文簡(jiǎn)稱dpc算法)。該算法聚類效果好、效率高、參數(shù)少,能夠發(fā)現(xiàn)聚類數(shù)目,并能夠?qū)Σ煌螤畹臄?shù)據(jù)進(jìn)行聚類,自動(dòng)識(shí)別離群點(diǎn)。dpc算法的輸入是數(shù)據(jù)點(diǎn)間的距離矩陣,只要解決混合屬性數(shù)據(jù)的數(shù)據(jù)點(diǎn)間的距離度量問題,就可以直接應(yīng)用該算法進(jìn)行聚類分析,但目前尚未查詢到其他采用dpc算法對(duì)混合屬性數(shù)據(jù)進(jìn)行聚類的研究報(bào)告。
因此,亟需一種合理的混合屬性數(shù)據(jù)點(diǎn)距離計(jì)算方法和處理混合屬性數(shù)據(jù)的聚類方法,比傳統(tǒng)的k-prototypes算法聚類效果好、算法效率高且能夠自動(dòng)發(fā)現(xiàn)聚類數(shù)目,對(duì)離群點(diǎn)的影響不敏感。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例的目的在于提供一種基于密度峰值的混合屬性數(shù)據(jù)聚類方法,比傳統(tǒng)的k-prototypes算法聚類效果好、算法效率高且能夠自動(dòng)發(fā)現(xiàn)聚類數(shù)目,對(duì)離群點(diǎn)的影響不敏感。
為了解決上述技術(shù)問題,本發(fā)明實(shí)施例提供了一種基于密度峰值的混合屬性數(shù)據(jù)聚類方法,所述方法包括:
s1、獲取待聚類混合屬性數(shù)據(jù)集,并根據(jù)所述待聚類混合屬性數(shù)據(jù)集,計(jì)算出所述待聚類混合屬性數(shù)據(jù)集中每?jī)蓚€(gè)數(shù)據(jù)點(diǎn)之間的距離,以及計(jì)算出所述待聚類混合屬性數(shù)據(jù)集的截?cái)嗑嚯x;
s2、根據(jù)所述計(jì)算出的待聚類混合屬性數(shù)據(jù)集中每?jī)蓚€(gè)數(shù)據(jù)點(diǎn)之間的距離以及所述計(jì)算出的截?cái)嗑嚯x,得到所述待聚類混合屬性數(shù)據(jù)集中每一個(gè)數(shù)據(jù)點(diǎn)的局部密度,并進(jìn)一步根據(jù)所述得到的待聚類混合屬性數(shù)據(jù)集中每一個(gè)數(shù)據(jù)點(diǎn)的局部密度,計(jì)算出所述待聚類混合屬性數(shù)據(jù)集中每一個(gè)數(shù)據(jù)點(diǎn)的相對(duì)距離;
s3、定義由所述待聚類混合屬性數(shù)據(jù)集中每一個(gè)數(shù)據(jù)點(diǎn)的局部密度及其對(duì)應(yīng)的相對(duì)距離形成的γ參數(shù)曲線,并確定所述待聚類混合屬性數(shù)據(jù)集中每一個(gè)數(shù)據(jù)點(diǎn)的γ參數(shù)值;
s4、根據(jù)所述待聚類混合屬性數(shù)據(jù)集中每一個(gè)數(shù)據(jù)點(diǎn)的序號(hào)、γ參數(shù)值及相對(duì)距離,構(gòu)建拐點(diǎn)索引矩陣,并采用預(yù)設(shè)的雙拐點(diǎn)算法對(duì)所述構(gòu)建的拐點(diǎn)索引矩陣求解,得到所述待聚類混合屬性數(shù)據(jù)集的聚類中心點(diǎn);
s5、根據(jù)所述得到的待聚類混合屬性數(shù)據(jù)集的聚類中心點(diǎn),實(shí)現(xiàn)所述待聚類混合屬性數(shù)據(jù)集聚類結(jié)果的表示和輸出;其中,所述待聚類混合屬性數(shù)據(jù)集中除所述得到的聚類中心點(diǎn)之外的數(shù)據(jù)點(diǎn)將被分配到近鄰局部密度最高的聚簇中,完成聚類結(jié)果的表示和輸出。
其中,所述待聚類混合屬性數(shù)據(jù)集中每?jī)蓚€(gè)數(shù)據(jù)點(diǎn)之間的距離是通過公式d(xi,xj)=d(xi,xj)r+d(xi,xj)c來實(shí)現(xiàn);其中,d(xi,xj)r表示待聚類混合屬性數(shù)據(jù)集中數(shù)值屬性部分的距離,d(xi,xj)c表示待聚類混合屬性數(shù)據(jù)集中分類屬性部分的距離;
其中,d(xi,xj)r是通過公式
其中,d(xi,xj)c是通過公式
其中,所述待聚類混合屬性數(shù)據(jù)集中每一個(gè)數(shù)據(jù)點(diǎn)的γ參數(shù)值是通過公式γi=ρi×δi而獲得的;其中,γi為第i個(gè)數(shù)據(jù)點(diǎn)的γ參數(shù)值;ρi為第i個(gè)數(shù)據(jù)點(diǎn)的局部密度;δi為第i個(gè)數(shù)據(jù)點(diǎn)的相對(duì)距離。
其中,所述步驟s4具體包括:
確定所述待聚類混合屬性數(shù)據(jù)集中每一個(gè)數(shù)據(jù)點(diǎn)的序號(hào)、γ參數(shù)值及相對(duì)距離,并進(jìn)一步分別形成序號(hào)集合、γ參數(shù)值集合及相對(duì)距離集合;其中,序號(hào)集合i=[1,2,…,n],γ參數(shù)值集合γ=[γ1,γ2,…,γn],相對(duì)距離集合δ=[δ1,δ2,…,δn];n為所述待聚類混合屬性數(shù)據(jù)集中數(shù)據(jù)點(diǎn)總數(shù),且為正整數(shù);
根據(jù)所述形成的序號(hào)集合、γ參數(shù)值集合及相對(duì)距離集合,構(gòu)建拐點(diǎn)索引矩陣ct=[i;γ;δ];其中,所述拐點(diǎn)索引矩陣ct=[i;γ;δ]是由數(shù)據(jù)點(diǎn)的序號(hào)、γ參數(shù)值及相對(duì)距離分別為作為行向量,數(shù)據(jù)點(diǎn)總數(shù)n為列向量所形成的3xn矩陣;
將所述拐點(diǎn)索引矩陣ct=[i;γ;δ]按照先對(duì)γ行從大到小排序再對(duì)δ行從大到小排序的方式進(jìn)行調(diào)整,得到調(diào)整后的拐點(diǎn)索引矩陣,并對(duì)所述調(diào)整后的拐點(diǎn)索引矩陣求解γ行的二階導(dǎo)數(shù),得到的值作為拐點(diǎn),且進(jìn)一步在所述調(diào)整后的拐點(diǎn)索引矩陣中保留列數(shù)小于或等于所述拐點(diǎn)的所有向量,形成候選中心集;
判斷所述候選中心集中向量列數(shù)是否小于或等于2;
如果是,則將所述候選中心集中列數(shù)對(duì)應(yīng)序號(hào)的數(shù)據(jù)點(diǎn)作為聚類中心點(diǎn);
如果否,則對(duì)所述候選中心集繼續(xù)求解δ行的二階導(dǎo)數(shù),得到的值作為二次拐點(diǎn),并將所述候選中心集中小于或等于所述二次拐點(diǎn)之前列數(shù)對(duì)應(yīng)序號(hào)的數(shù)據(jù)點(diǎn)作為聚類中心點(diǎn)。
實(shí)施本發(fā)明實(shí)施例,具有如下有益效果:
本發(fā)明實(shí)施例對(duì)混合屬性數(shù)據(jù)集提供統(tǒng)一的混合屬性數(shù)據(jù)點(diǎn)的距離度量公式,并以此構(gòu)建混合屬性數(shù)據(jù)的數(shù)據(jù)點(diǎn)間的拐點(diǎn)索引矩陣,進(jìn)而提出了基于雙拐點(diǎn)的自動(dòng)聚類中心確定方法,從而比傳統(tǒng)的k-prototypes算法聚類效果好、算法效率高且能夠自動(dòng)發(fā)現(xiàn)聚類數(shù)目,對(duì)離群點(diǎn)的影響不敏感。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)性的前提下,根據(jù)這些附圖獲得其他的附圖仍屬于本發(fā)明的范疇。
圖1為本發(fā)明實(shí)施例提供的基于密度峰值的混合屬性數(shù)據(jù)聚類方法的流程圖。
具體實(shí)施方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
如圖1所示,本發(fā)明實(shí)施例中,提出一種基于密度峰值的混合屬性數(shù)據(jù)聚類方法,所述方法包括:
步驟s101、獲取待聚類混合屬性數(shù)據(jù)集,并根據(jù)所述待聚類混合屬性數(shù)據(jù)集,計(jì)算出所述待聚類混合屬性數(shù)據(jù)集中每?jī)蓚€(gè)數(shù)據(jù)點(diǎn)之間的距離,以及計(jì)算出所述待聚類混合屬性數(shù)據(jù)集的截?cái)嗑嚯x;
具體過程為,確定待聚類混合屬性數(shù)據(jù)集,可設(shè)待聚類混合屬性數(shù)據(jù)集s={x1,x2,…,xn}是待聚類的d維n個(gè)數(shù)據(jù)點(diǎn)的混合屬性數(shù)據(jù)集;其中,第j個(gè)數(shù)據(jù)點(diǎn)可表示為xj=[xj1,xj2,…,xjd];假設(shè)待聚類混合屬性數(shù)據(jù)集s中數(shù)值屬性有dr維和分類屬性有dc維,使得dr+dc=d,如前dr為個(gè)屬性為數(shù)值屬性,后dc個(gè)屬性為分類屬性,此時(shí)待聚類混合屬性數(shù)據(jù)集s的截?cái)嗑嚯x即為分類屬性的dc。
對(duì)待聚類混合屬性數(shù)據(jù)集s提出統(tǒng)一距離度量定義,計(jì)算出待聚類混合屬性數(shù)據(jù)集s中每?jī)蓚€(gè)數(shù)據(jù)點(diǎn)之間的距離,如對(duì)待聚類混合屬性數(shù)據(jù)集s中的任意兩個(gè)數(shù)據(jù)點(diǎn)xi和xj,他們的距離可以通過公式(1)計(jì)算所得:
d(xi,xj)=d(xi,xj)r+d(xi,xj)c(1);
式(1)中,d(xi,xj)r表示待聚類混合屬性數(shù)據(jù)集中數(shù)值屬性部分的距離,d(xi,xj)c表示待聚類混合屬性數(shù)據(jù)集中分類屬性部分的距離;
而d(xi,xj)r可以采用公式(2)表示,公式(2)如下;
式(2)中,
d(xi,xj)c可以采用公式(3)表示,公式(3)如下;
式(3)采用加熵權(quán)的匹配方法,其中,
步驟s102、根據(jù)所述計(jì)算出的待聚類混合屬性數(shù)據(jù)集中每?jī)蓚€(gè)數(shù)據(jù)點(diǎn)之間的距離以及所述計(jì)算出的截?cái)嗑嚯x,得到所述待聚類混合屬性數(shù)據(jù)集中每一個(gè)數(shù)據(jù)點(diǎn)的局部密度,并進(jìn)一步根據(jù)所述得到的待聚類混合屬性數(shù)據(jù)集中每一個(gè)數(shù)據(jù)點(diǎn)的局部密度,計(jì)算出所述待聚類混合屬性數(shù)據(jù)集中每一個(gè)數(shù)據(jù)點(diǎn)的相對(duì)距離;
具體過程為,根據(jù)待聚類混合屬性數(shù)據(jù)集s中每?jī)蓚€(gè)數(shù)據(jù)點(diǎn)之間的距離d(xi,xj)以及截?cái)嗑嚯xdc,通過公式(4)計(jì)算出待聚類混合屬性數(shù)據(jù)集s中每一個(gè)數(shù)據(jù)點(diǎn)的局部密度ρi:
式(4)中,ρi為第i個(gè)數(shù)據(jù)點(diǎn)的局部密度;
再通過公式(5),計(jì)算出待聚類混合屬性數(shù)據(jù)集s中每一個(gè)數(shù)據(jù)點(diǎn)的相對(duì)距離δi:
式(4)中,δi為第i個(gè)數(shù)據(jù)點(diǎn)的相對(duì)距離,當(dāng)局部密度不是最大密度時(shí),數(shù)據(jù)點(diǎn)xi對(duì)應(yīng)的距離是該點(diǎn)到所有密度比它大的點(diǎn)的距離的最小值,否則,取它到所有其他點(diǎn)的最大距離。
綜上,根據(jù)每一個(gè)數(shù)據(jù)點(diǎn)的局部密度ρi和距離δi構(gòu)建的決策圖,用戶可以顯式地發(fā)現(xiàn)和選擇聚簇的數(shù)目和中心點(diǎn)。
步驟s103、定義由所述待聚類混合屬性數(shù)據(jù)集中每一個(gè)數(shù)據(jù)點(diǎn)的局部密度及其對(duì)應(yīng)的相對(duì)距離形成的γ參數(shù)曲線,并確定所述待聚類混合屬性數(shù)據(jù)集中每一個(gè)數(shù)據(jù)點(diǎn)的γ參數(shù)值;
具體過程為,為了實(shí)現(xiàn)聚類中心的自動(dòng)確定,首先定義γ參數(shù)值γi=ρi×δi來制定γ參數(shù)曲線,并將γ參數(shù)曲線的γ參數(shù)值γi倒序排列,這時(shí)γi比較大的點(diǎn)一定是局部密度ρi或者相對(duì)距離δi比較大的點(diǎn)。其中,γi為第i個(gè)數(shù)據(jù)點(diǎn)的γ參數(shù)值。
步驟s104、根據(jù)所述待聚類混合屬性數(shù)據(jù)集中每一個(gè)數(shù)據(jù)點(diǎn)的序號(hào)、γ參數(shù)值及相對(duì)距離,構(gòu)建拐點(diǎn)索引矩陣,并采用預(yù)設(shè)的雙拐點(diǎn)算法對(duì)所述構(gòu)建的拐點(diǎn)索引矩陣求解,得到所述待聚類混合屬性數(shù)據(jù)集的聚類中心點(diǎn);
具體過程為,通過計(jì)算γi和δi兩個(gè)拐點(diǎn)可以確定出聚類中心點(diǎn),即在雙拐點(diǎn)前的那些中心點(diǎn)可以滿足局部密度ρi和距離δi都比較大。因此,可以根據(jù)函數(shù)的拐點(diǎn)定義和求解方法,通過計(jì)算一個(gè)函數(shù)f(x)的二階導(dǎo)數(shù)f”(x)。求解拐點(diǎn)x0,使得f”(x0)=0,且在x0的兩邊數(shù)值正負(fù)值不同,具體如下:
確定待聚類混合屬性數(shù)據(jù)集s中每一個(gè)數(shù)據(jù)點(diǎn)的序號(hào)、γ參數(shù)值及相對(duì)距離,并進(jìn)一步分別形成序號(hào)集合、γ參數(shù)值集合及相對(duì)距離集合;其中,序號(hào)集合i=[1,2,…,n],γ參數(shù)值集合γ=[γ1,γ2,…,γn],相對(duì)距離集合δ=[δ1,δ2,…,δn];n為待聚類混合屬性數(shù)據(jù)集s中數(shù)據(jù)點(diǎn)總數(shù),且為正整數(shù);
根據(jù)序號(hào)集合、γ參數(shù)值集合及相對(duì)距離集合,構(gòu)建拐點(diǎn)索引矩陣ct=[i;γ;δ];其中,拐點(diǎn)索引矩陣ct=[i;γ;δ]是由數(shù)據(jù)點(diǎn)的序號(hào)、γ參數(shù)值及相對(duì)距離分別為作為行向量,數(shù)據(jù)點(diǎn)總數(shù)n為列向量所形成的3xn矩陣;
將拐點(diǎn)索引矩陣ct=[i;γ;δ]按照先對(duì)γ行從大到小排序再對(duì)δ行從大到小排序的方式進(jìn)行調(diào)整,得到調(diào)整后的拐點(diǎn)索引矩陣,并對(duì)調(diào)整后的拐點(diǎn)索引矩陣求解γ行的二階導(dǎo)數(shù),得到的值作為拐點(diǎn),且進(jìn)一步在調(diào)整后的拐點(diǎn)索引矩陣中保留列數(shù)小于或等于拐點(diǎn)的所有向量,形成候選中心集;
判斷候選中心集中向量列數(shù)是否小于或等于2;
如果是,則將候選中心集中列數(shù)對(duì)應(yīng)序號(hào)的數(shù)據(jù)點(diǎn)作為聚類中心點(diǎn);
如果否,則對(duì)候選中心集繼續(xù)求解δ行的二階導(dǎo)數(shù),得到的值作為二次拐點(diǎn),并將所述候選中心集中小于或等于所述二次拐點(diǎn)之前列數(shù)對(duì)應(yīng)序號(hào)的數(shù)據(jù)點(diǎn)作為聚類中心點(diǎn)。
作為一個(gè)例子,以銀行信用憑證為例,形成10列調(diào)整后的拐點(diǎn)索引矩陣,如下表1所示:
表1
對(duì)調(diào)整后的拐點(diǎn)索引矩陣求解γ行的二階導(dǎo)數(shù),如下表2所示:
表2
由γ”可以看出,拐點(diǎn)出現(xiàn)在第8列,由此可得出前8列作為候選中心集hsct,由于拐點(diǎn)出現(xiàn)在第8列大于2,則可以再對(duì)候選中心集hsct的求解δ行的二階導(dǎo)數(shù),如下表3所示:
表3
從上表3中可以看到,δ拐點(diǎn)出現(xiàn)在第2列,可得出該數(shù)據(jù)集的聚類中心是2個(gè),即第407和127個(gè)數(shù)據(jù)點(diǎn)作為聚類中心點(diǎn)。
步驟s105、根據(jù)所述得到的待聚類混合屬性數(shù)據(jù)集的聚類中心點(diǎn),實(shí)現(xiàn)所述待聚類混合屬性數(shù)據(jù)集聚類結(jié)果的表示和輸出;其中,所述待聚類混合屬性數(shù)據(jù)集中除所述得到的聚類中心點(diǎn)之外的數(shù)據(jù)點(diǎn)將被分配到近鄰局部密度最高的聚簇中,完成聚類結(jié)果的表示和輸出。
具體過程為,根據(jù)聚類中心點(diǎn),實(shí)現(xiàn)所述待聚類混合屬性數(shù)據(jù)集聚類結(jié)果的表示和輸出,當(dāng)然將非聚類中心點(diǎn)依次分配與其最近鄰高密度點(diǎn)相同的類標(biāo),由此完成一趟聚類并輸出聚類結(jié)果,即待聚類混合屬性數(shù)據(jù)集s中除聚類中心點(diǎn)之外的數(shù)據(jù)點(diǎn)將被分配到近鄰局部密度最高的聚簇中,完成聚類結(jié)果的表示和輸出。
本發(fā)明實(shí)施例中,數(shù)據(jù)點(diǎn)數(shù)為n的數(shù)據(jù)集,算法空間復(fù)雜度主要來自距離矩陣的存儲(chǔ),需要3*n*(n-1)/2的存儲(chǔ)空間,即距離矩陣共存儲(chǔ)3列,1列和第2列是數(shù)據(jù)點(diǎn)序號(hào),第3列為兩個(gè)數(shù)據(jù)點(diǎn)的距離。
步驟s103中需要3個(gè)長(zhǎng)度為n的數(shù)組存儲(chǔ)局部密度ρ、距離δ和其乘積γ,因此空間復(fù)雜度為o(n2),而且局部密度計(jì)算和相對(duì)距離計(jì)算以及二者的乘積計(jì)算,時(shí)間復(fù)雜度均為o(n2);步驟s104中雙拐點(diǎn)計(jì)算中排序時(shí)間復(fù)雜度取決于采用的排序算法,最小為o(nlog(n)),最大為o(n2),因此時(shí)間復(fù)雜度不超過o(n2);步驟s105中聚類結(jié)果的表示和輸出的數(shù)據(jù)點(diǎn)分配時(shí)間復(fù)雜度為o(n)。因此,算法總的復(fù)雜度為o(n2),比傳統(tǒng)的k-prototypes算法聚類效果好、算法效率高且能夠自動(dòng)發(fā)現(xiàn)聚類數(shù)目。
實(shí)施本發(fā)明實(shí)施例,具有如下有益效果:
本發(fā)明實(shí)施例對(duì)混合屬性數(shù)據(jù)集提供統(tǒng)一的混合屬性數(shù)據(jù)點(diǎn)的距離度量公式,并以此構(gòu)建混合屬性數(shù)據(jù)的數(shù)據(jù)點(diǎn)間的拐點(diǎn)索引矩陣,進(jìn)而提出了基于雙拐點(diǎn)的自動(dòng)聚類中心確定方法,從而比傳統(tǒng)的k-prototypes算法聚類效果好、算法效率高且能夠自動(dòng)發(fā)現(xiàn)聚類數(shù)目,對(duì)離群點(diǎn)的影響不敏感
本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分步驟是可以通過程序來指令相關(guān)的硬件來完成,所述的程序可以存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,所述的存儲(chǔ)介質(zhì),如rom/ram、磁盤、光盤等。
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。