專利名稱:一種數(shù)據(jù)挖掘系統(tǒng)中數(shù)據(jù)聚類的方法、系統(tǒng)及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)挖掘技術(shù)領(lǐng)域,尤其涉及一種數(shù)據(jù)挖掘系統(tǒng)中數(shù)據(jù)聚類的方法、 系統(tǒng)及裝置。
背景技術(shù):
數(shù)據(jù)挖掘又稱數(shù)據(jù)庫(kù)中的知識(shí)發(fā)現(xiàn),是指從大量的不完全的、有噪聲的、模糊的數(shù) 據(jù)中提取隱含的、未知的、非平凡的及有潛在應(yīng)用價(jià)值的信息或模式,融合了數(shù)據(jù)庫(kù)、人工 智能、機(jī)器學(xué)習(xí)、統(tǒng)計(jì)學(xué)等多個(gè)領(lǐng)域的理論和技術(shù)。數(shù)據(jù)挖掘工具能夠?qū)?lái)的趨勢(shì)和行為 進(jìn)行預(yù)測(cè),從而很好地支持人們的決策。在數(shù)據(jù)挖掘處理中,聚類(Clustering)是將數(shù)據(jù)對(duì)象分組成為多個(gè)類或簇 (cluster),屬于同一個(gè)簇的對(duì)象之間具有較高的相似度,屬于不同簇的對(duì)象之間具有較低 的相似度。相似度一般根據(jù)描述對(duì)象的屬性值計(jì)算得到,而對(duì)象之間的距離是常用的度量 方式。目前,聚類分析已經(jīng)廣泛地用在許多領(lǐng)域,例如,在商務(wù)領(lǐng)域,聚類能幫助市場(chǎng)分析人 員從客戶基本庫(kù)中發(fā)現(xiàn)不同的客戶群,并且用購(gòu)買模式來(lái)刻畫(huà)不同的客戶群的特征。通過(guò) 聚類,能夠?qū)蛻粝M(fèi)行為及消費(fèi)心理等多種因素進(jìn)行分析,從而得出客戶在消費(fèi)習(xí)慣、生 活方式、社會(huì)聯(lián)系等方面的特征,按不同特征劃分客戶群,并針對(duì)不同客戶群進(jìn)行不同的市 場(chǎng)營(yíng)銷活動(dòng)和客戶服務(wù)。目前,聚類方法多采用PAM(PArtitioning method,劃分方法)(也稱k_中心點(diǎn)對(duì) 象算法),PAM是給定一個(gè)有N個(gè)元組或者紀(jì)錄的數(shù)據(jù)集,構(gòu)造K個(gè)分組,每一個(gè)分組代表一 個(gè)聚類,K < N,其中,構(gòu)造的K個(gè)分組滿足下列條件(1)每一個(gè)分組至少包含一個(gè)數(shù)據(jù)紀(jì)錄;(2)每一個(gè)數(shù)據(jù)紀(jì)錄屬于且僅屬于一個(gè)分組;對(duì)于給定的K,首先給出一個(gè)初始的分組方法,以后通過(guò)反復(fù)迭代的方法改變分 組,使得每一次改進(jìn)之后的分組方案都優(yōu)于前一次分組,即同一分組中的對(duì)象的相似度越 高越好,不同分組中對(duì)象的相似度越小越好。PAM用簇中位置最靠近中心的對(duì)象作為代表對(duì)象,然后反復(fù)地用非代表對(duì)象來(lái)代 替代表對(duì)象,試圖找出更好的中心點(diǎn)對(duì)象,在反復(fù)迭代的過(guò)程中,所有可能的“對(duì)象對(duì)”被分 析,每個(gè)對(duì)中的一個(gè)對(duì)象為中心點(diǎn)對(duì)象,另一個(gè)為非代表對(duì)象。一個(gè)對(duì)象代表可以被最大平 方-誤差值減少的對(duì)象代替。一個(gè)非代表對(duì)象Oh是否是當(dāng)前一個(gè)代表對(duì)象Oi的一個(gè)好的 替代,對(duì)于每個(gè)非中心點(diǎn)對(duì)象0j,有以下四種情況需要考慮,然后計(jì)算,如果為負(fù),則可以替 換(1) Oj當(dāng)前隸屬于0i,如果Oi被Oh替換,且Oj離另一個(gè)Om最近,那么Oj被分配 給0m,則替換代價(jià)為(^^[(!(^!^-(!(^^其中,土 ! =m。(2) Oj當(dāng)前隸屬于0i,如果Oi被Oh替換,且Oj離Oh最近,那么Oj被分配給0h, 則替換代價(jià)為 Cjih = d(j, h)-d(j,i)。(3)0j當(dāng)前隸屬于0m,m ! = i,如果Oi被Oh替換,且Oj仍然離Om最近,那么Oj被分配給0m,則替換代價(jià)為Cjih = O。(4)0j當(dāng)前隸屬于Om,m ! = i,如果Oi被Oh替換,且Oj離Oh最近,那么Oj被分 配給Oh,則替換代價(jià)為Cjih = d(j, h)-d(j,m)。根據(jù)以上原理,PAM的計(jì)算過(guò)程如圖1所述,主要包括如下步驟,其中,假設(shè)要得到 的簇的數(shù)目為k,并且數(shù)據(jù)庫(kù)中包含η個(gè)對(duì)象步驟101、任意選擇k個(gè)對(duì)象作為初始的簇中心點(diǎn)對(duì)象;步驟102、依次計(jì)算每個(gè)非中心點(diǎn)對(duì)象到k個(gè)中心點(diǎn)對(duì)象的距離,并指派每個(gè)非中 心點(diǎn)對(duì)象給離他最近的中心點(diǎn)對(duì)象所表示的簇,直到所有非中心點(diǎn)對(duì)象被指派到對(duì)應(yīng)的簇 中;步驟103、選擇一個(gè)未被選擇的中心點(diǎn)對(duì)象Oi ;步驟104、選擇一個(gè)未被選擇的非中心點(diǎn)對(duì)象Oh ;步驟105、計(jì)算用Oh代替Oi的總代價(jià)并記錄在S中;步驟106、重復(fù)步驟104至步驟105直到所有非中心點(diǎn)對(duì)象都被選擇過(guò);步驟107、重復(fù)步驟103至步驟106直到所有中心點(diǎn)對(duì)象都被選擇過(guò);步驟108、在S中記錄的總代價(jià)有小于0的存在,則利用對(duì)應(yīng)最小S值的非中心點(diǎn) 對(duì)象替代中心點(diǎn)對(duì)象,形成新的k個(gè)中心點(diǎn)對(duì)象的集合;步驟109、重復(fù)步驟103至步驟108直到S中記錄的總代價(jià)都大于0。CLARA (Cluster Larger Application,隨機(jī)搜索聚類算法)也是較常見(jiàn)的聚類方 法,該算法先抽取數(shù)據(jù)集合的多個(gè)樣本,然后用PAM方法在抽樣的樣本中尋找最佳的k中心 點(diǎn)對(duì)象,返回最好的聚類結(jié)果作為輸出。上述數(shù)據(jù)挖掘系統(tǒng)中的數(shù)據(jù)聚類方法,主要工作在于迭代計(jì)算用非中心點(diǎn)對(duì)象替 代中心點(diǎn)對(duì)象后的代價(jià),這是一個(gè)很大的開(kāi)銷。當(dāng)面臨高達(dá)101°個(gè)樣本對(duì)象的海量數(shù)據(jù)挖 掘時(shí),由于單個(gè)服務(wù)器的數(shù)據(jù)存儲(chǔ)能力有限,因此導(dǎo)致無(wú)法處理海量數(shù)據(jù),并且,上述算法 中所有的計(jì)算過(guò)程都是串行執(zhí)行,因此數(shù)據(jù)挖掘的效率低。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明實(shí)施例提供一種數(shù)據(jù)挖掘系統(tǒng)中數(shù)據(jù)聚類的方法、系統(tǒng)及裝置, 用于解決現(xiàn)有數(shù)據(jù)聚類方法無(wú)法處理海量數(shù)據(jù)并且數(shù)據(jù)挖掘效率低的問(wèn)題。本發(fā)明實(shí)施例通過(guò)如下技術(shù)方案實(shí)現(xiàn)根據(jù)本發(fā)明實(shí)施例的一個(gè)方面,提供了一種數(shù)據(jù)挖掘系統(tǒng)中數(shù)據(jù)聚類的方法。根據(jù)本發(fā)明實(shí)施例提供的數(shù)據(jù)挖掘系統(tǒng)中數(shù)據(jù)聚類的方法,包括A、主控節(jié)點(diǎn)對(duì)數(shù)據(jù)對(duì)象進(jìn)行分塊,將分塊后的數(shù)據(jù)對(duì)象分發(fā)給至少兩個(gè)計(jì)算節(jié)點(diǎn)。B、以串行方式或并行方式控制所述每個(gè)計(jì)算節(jié)點(diǎn)執(zhí)行計(jì)算利用保存的數(shù)據(jù)對(duì)象中的非中心點(diǎn)對(duì)象分別替換確定的設(shè)定個(gè)中心點(diǎn)對(duì)象 后對(duì)應(yīng)的替換代價(jià);C、所述主控節(jié)點(diǎn)獲取所述每個(gè)計(jì)算節(jié)點(diǎn)的執(zhí)行結(jié)果,并判斷獲取的執(zhí)行結(jié)果中是 否存在小于零的替換代價(jià);若是,確定替換同一中心點(diǎn)對(duì)象的多個(gè)非中心點(diǎn)對(duì)象中具有小于零且最小替換代價(jià)的非中心點(diǎn)對(duì)象,利用所述非中心點(diǎn)對(duì)象替換所述中心點(diǎn)對(duì)象,并返回步驟B;若否,則將當(dāng)前各中心點(diǎn)對(duì)象及其對(duì)應(yīng)簇中包括的數(shù)據(jù)對(duì)象確定為最終聚類結(jié)果 并結(jié)束。根據(jù)本發(fā)明實(shí)施例的另一個(gè)方面,還提供了一種數(shù)據(jù)挖掘系統(tǒng)中數(shù)據(jù)聚類的系 統(tǒng)。根據(jù)本發(fā)明實(shí)施例提供的數(shù)據(jù)挖掘系統(tǒng)中數(shù)據(jù)聚類的系統(tǒng),包括控制節(jié)點(diǎn)以及至 少兩個(gè)計(jì)算節(jié)點(diǎn);其中,所述控制節(jié)點(diǎn),用于對(duì)數(shù)據(jù)對(duì)象進(jìn)行分塊,將分塊后的數(shù)據(jù)對(duì)象分發(fā)給所述至少 兩個(gè)計(jì)算節(jié)點(diǎn),并以串行方式或并行方式控制所述每個(gè)計(jì)算節(jié)點(diǎn)執(zhí)行計(jì)算利用保存的數(shù) 據(jù)對(duì)象中的非中心點(diǎn)對(duì)象分別替換確定的設(shè)定個(gè)中心點(diǎn)對(duì)象后對(duì)應(yīng)的替換代價(jià);以及,獲 取所述每個(gè)計(jì)算節(jié)點(diǎn)的執(zhí)行結(jié)果,并判斷獲取的執(zhí)行結(jié)果中是否存在小于零的替換代價(jià); 若是,確定替換同一中心點(diǎn)對(duì)象的多個(gè)非中心點(diǎn)對(duì)象中具有小于零且最小替換代價(jià)的非中 心點(diǎn)對(duì)象,利用所述非中心點(diǎn)對(duì)象替換所述中心點(diǎn)對(duì)象,并繼續(xù)以串行方式或并行方式控 制所述每個(gè)計(jì)算節(jié)點(diǎn)執(zhí)行計(jì)算利用保存的數(shù)據(jù)對(duì)象中的非中心點(diǎn)對(duì)象分別替換確定的設(shè) 定個(gè)中心點(diǎn)對(duì)象后對(duì)應(yīng)的替換代價(jià),直到所述每個(gè)計(jì)算節(jié)點(diǎn)的執(zhí)行結(jié)果中不存在小于零的 替換代價(jià);若否,則將當(dāng)前各中心點(diǎn)對(duì)象及其對(duì)應(yīng)簇中包括的數(shù)據(jù)對(duì)象確定為最終聚類結(jié) 果并結(jié)束;所述計(jì)算節(jié)點(diǎn),用于根據(jù)所述控制節(jié)點(diǎn)的控制,計(jì)算利用保存的數(shù)據(jù)對(duì)象中的非 中心點(diǎn)對(duì)象分別替換確定的設(shè)定個(gè)中心點(diǎn)對(duì)象后對(duì)應(yīng)的替換代價(jià)。根據(jù)本發(fā)明實(shí)施例的另一個(gè)方面,還提供了一種控制節(jié)點(diǎn)。根據(jù)本發(fā)明實(shí)施例提供的控制節(jié)點(diǎn),包括分配單元,用于對(duì)數(shù)據(jù)對(duì)象進(jìn)行分塊,將分塊后的數(shù)據(jù)對(duì)象分發(fā)給至少兩個(gè)計(jì)算 節(jié)占.
I— /、、、 控制單元,用于以串行方式或并行方式控制所述每個(gè)計(jì)算節(jié)點(diǎn)執(zhí)行計(jì)算利用保存的數(shù)據(jù)對(duì)象中的非中心點(diǎn)對(duì)象分別替換確定的設(shè)定個(gè)中心點(diǎn)對(duì)象 后對(duì)應(yīng)的替換代價(jià);匯總單元,用于獲取所述每個(gè)計(jì)算節(jié)點(diǎn)的執(zhí)行結(jié)果;判斷單元,用于判斷所述匯總單元獲取的執(zhí)行結(jié)果中是否存在小于零的替換代 價(jià);若是,確定替換同一中心點(diǎn)對(duì)象的多個(gè)非中心點(diǎn)對(duì)象中具有小于零且最小替換代 價(jià)的非中心點(diǎn)對(duì)象,利用所述非中心點(diǎn)對(duì)象替換所述中心點(diǎn)對(duì)象,并觸發(fā)所述控制單元?jiǎng)?作;若否,則將當(dāng)前各中心點(diǎn)對(duì)象及其對(duì)應(yīng)簇中包括的數(shù)據(jù)對(duì)象確定為最終聚類結(jié)果 并結(jié)束。根據(jù)本發(fā)明實(shí)施例的另一個(gè)方面,還提供了一種計(jì)算節(jié)點(diǎn)。根據(jù)本發(fā)明實(shí)施例提供的計(jì)算節(jié)點(diǎn),包括數(shù)據(jù)存儲(chǔ)單元,用于存儲(chǔ)控制節(jié)點(diǎn)分發(fā)的數(shù)據(jù)對(duì)象;計(jì)算單元,用于根據(jù)所述控制節(jié)點(diǎn)的控制,計(jì)算利用所述數(shù)據(jù)存儲(chǔ)單元存儲(chǔ)的數(shù) 據(jù)對(duì)象中的非中心點(diǎn)對(duì)象分別替換確定的設(shè)定個(gè)中心點(diǎn)對(duì)象后對(duì)應(yīng)的替換代價(jià)。
通過(guò)本發(fā)明實(shí)施例提供的上述至少一個(gè)技術(shù)方案,由控制節(jié)點(diǎn)將待挖掘的數(shù)據(jù)對(duì) 象分塊,將分塊數(shù)據(jù)分發(fā)至至少兩個(gè)計(jì)算節(jié)點(diǎn)中,并采用并行或串行方式控制每個(gè)計(jì)算機(jī) 計(jì)算利用保存的數(shù)據(jù)對(duì)象中的非中心點(diǎn)對(duì)象分別替換確定的設(shè)定個(gè)中心點(diǎn)對(duì)象后對(duì)應(yīng)的 替換代價(jià),并獲取每個(gè)計(jì)算節(jié)點(diǎn)的執(zhí)行結(jié)果,判斷獲取的執(zhí)行結(jié)果中是否存在小于零的替 換代價(jià),若是,則確定替換同一中心點(diǎn)對(duì)象的多個(gè)非中心點(diǎn)對(duì)象中具有小于零且最小替換 代價(jià)的非中心點(diǎn)對(duì)象,利用所述非中心點(diǎn)對(duì)象替換所述中心點(diǎn)對(duì)象,并返回控制每個(gè)計(jì)算 機(jī)計(jì)算利用保存的數(shù)據(jù)對(duì)象中的非中心點(diǎn)對(duì)象分別替換確定的設(shè)定個(gè)中心點(diǎn)對(duì)象后對(duì)應(yīng) 的替換代價(jià)的步驟,直到各計(jì)算節(jié)點(diǎn)計(jì)算得到的替換代價(jià)均大于等于零;若否,則將當(dāng)前各 中心點(diǎn)對(duì)象及其對(duì)應(yīng)簇中包括的數(shù)據(jù)對(duì)象確定為最終聚類結(jié)果并結(jié)束。根據(jù)本發(fā)明提供的 技術(shù)方案,控制節(jié)點(diǎn)能夠控制將待處理數(shù)據(jù)分布至多個(gè)計(jì)算節(jié)點(diǎn),從而提高了數(shù)據(jù)的處理 量,能夠處理海量數(shù)據(jù)的挖掘需求。并且,根據(jù)本發(fā)明提供的技術(shù)方案,可以將數(shù)據(jù)分布至 多個(gè)計(jì)算節(jié)點(diǎn)處理,從而對(duì)于單個(gè)計(jì)算節(jié)點(diǎn)而言,降低了數(shù)據(jù)處理負(fù)擔(dān),相應(yīng)地提高了計(jì)算 效率,尤其在計(jì)算節(jié)點(diǎn)內(nèi)部采用并行處理方式的情況下,更進(jìn)一步提高了數(shù)據(jù)處理效率。本發(fā)明的其它特征和優(yōu)點(diǎn)將在隨后的說(shuō)明書(shū)中闡述,并且,部分地從說(shuō)明書(shū)中變 得顯而易見(jiàn),或者通過(guò)實(shí)施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點(diǎn)可通過(guò)在所寫(xiě)的說(shuō)明 書(shū)、權(quán)利要求書(shū)、以及附圖中所特別指出的結(jié)構(gòu)來(lái)實(shí)現(xiàn)和獲得。
附圖用來(lái)提供對(duì)本發(fā)明的進(jìn)一步理解,并且構(gòu)成說(shuō)明書(shū)的一部分,與本發(fā)明實(shí)施 例一起用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的限制。在附圖中圖1為本發(fā)明背景技術(shù)提供的PAM的計(jì)算過(guò)程流程圖;圖2為本發(fā)明實(shí)施例提供的數(shù)據(jù)挖掘系統(tǒng)中數(shù)據(jù)聚類的方法流程圖;圖3為本發(fā)明實(shí)施例提供的采用完全串行方式的數(shù)據(jù)聚類的方法流程圖;圖4為本發(fā)明實(shí)施例提供的采用部分串行方式的數(shù)據(jù)聚類的方法流程圖;圖5為本發(fā)明實(shí)施例提供的并行替換各中心點(diǎn)對(duì)象的流程圖;圖6為本發(fā)明實(shí)施例提供的初始化簇的流程圖;圖7為本發(fā)明實(shí)施例提供的數(shù)據(jù)挖掘系統(tǒng)中數(shù)據(jù)聚類的系統(tǒng)結(jié)構(gòu)示意圖;圖8為本發(fā)明實(shí)施例提供的控制節(jié)點(diǎn)結(jié)構(gòu)示意圖;圖9為本發(fā)明實(shí)施例提供的操作節(jié)點(diǎn)結(jié)構(gòu)示意圖。
具體實(shí)施例方式為了給出處理海量數(shù)據(jù)并且提高數(shù)據(jù)挖掘效率的實(shí)現(xiàn)方案,本發(fā)明實(shí)施例提供了 一種數(shù)據(jù)挖掘系統(tǒng)中數(shù)據(jù)聚類的方法、系統(tǒng)及裝置,以下結(jié)合說(shuō)明書(shū)附圖對(duì)本發(fā)明的優(yōu)選 實(shí)施例進(jìn)行說(shuō)明,應(yīng)當(dāng)理解,此處所描述的優(yōu)選實(shí)施例僅用于說(shuō)明和解釋本發(fā)明,并不用于 限定本發(fā)明。并且在不沖突的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相互組合。根據(jù)本發(fā)明實(shí)施例,首先提供了一種數(shù)據(jù)挖掘系統(tǒng)中數(shù)據(jù)聚類的方法,如圖2所 示,包括步驟201、主控節(jié)點(diǎn)對(duì)數(shù)據(jù)對(duì)象進(jìn)行分塊,將分塊數(shù)據(jù)對(duì)象分發(fā)給至少兩個(gè)計(jì)算節(jié)點(diǎn)。
步驟202、以串行方式或并行方式控制每個(gè)計(jì)算節(jié)點(diǎn)計(jì)算利用保存的數(shù)據(jù)對(duì)象中 的非中心點(diǎn)對(duì)象分別替換確定的設(shè)定個(gè)中心點(diǎn)對(duì)象后對(duì)應(yīng)的替換代價(jià)。該步驟202中,以串行方式控制每個(gè)計(jì)算節(jié)點(diǎn)計(jì)算替換代價(jià),即控制各計(jì)算節(jié)點(diǎn) 依次執(zhí)行上述計(jì)算過(guò)程,例如,將數(shù)據(jù)對(duì)象分發(fā)至計(jì)算節(jié)點(diǎn)1以及計(jì)算節(jié)點(diǎn)2,根據(jù)該串行 控制方式,可以首先控制計(jì)算節(jié)點(diǎn)1完成計(jì)算過(guò)程并獲取計(jì)算結(jié)果后,控制計(jì)算節(jié)點(diǎn)2執(zhí)行 計(jì)算過(guò)程;以并行方式控制每個(gè)計(jì)算節(jié)點(diǎn)計(jì)算替換代價(jià),即控制各計(jì)算節(jié)點(diǎn)同步執(zhí)行上述計(jì) 算過(guò)程,例如,將數(shù)據(jù)對(duì)象分配并分發(fā)至計(jì)算節(jié)點(diǎn)1以及計(jì)算節(jié)點(diǎn)2,根據(jù)該并行控制方式, 同時(shí)向計(jì)算節(jié)點(diǎn)1以及計(jì)算節(jié)點(diǎn)2發(fā)送控制指令,指示計(jì)算節(jié)點(diǎn)1以及計(jì)算節(jié)點(diǎn)2執(zhí)行計(jì) 算過(guò)程。步驟203、主控節(jié)點(diǎn)獲取每個(gè)計(jì)算節(jié)點(diǎn)的執(zhí)行結(jié)果。步驟204、主控節(jié)點(diǎn)判斷從各計(jì)算節(jié)點(diǎn)獲取的執(zhí)行結(jié)果中是否存在小于零的替換 代價(jià),若是,執(zhí)行步驟205,若否,執(zhí)行步驟206。步驟205、確定替換同一中心點(diǎn)對(duì)象的多個(gè)非中心點(diǎn)對(duì)象中具有小于零且最小替 換代價(jià)的非中心點(diǎn)對(duì)象,并利用確定出的非中心點(diǎn)對(duì)象替換該中心點(diǎn)對(duì)象,返回步驟202 ;步驟206、將當(dāng)前各中心點(diǎn)對(duì)象及其對(duì)應(yīng)簇中包括的數(shù)據(jù)對(duì)象確定為最終聚類結(jié) 果并結(jié)束。上述流程中,將待處理的數(shù)據(jù)對(duì)象分配并分布至多個(gè)計(jì)算節(jié)點(diǎn)處理,降低了單個(gè) 計(jì)算節(jié)點(diǎn)處理數(shù)據(jù)的負(fù)擔(dān),提高了數(shù)據(jù)處理的效率,尤其在以并行方式控制多個(gè)計(jì)算節(jié)點(diǎn) 處理數(shù)據(jù)時(shí),各計(jì)算節(jié)點(diǎn)能夠?qū)Ω髯员4娴臄?shù)據(jù)同步處理,在計(jì)算效率方面有了很大提高。根據(jù)本發(fā)明優(yōu)選實(shí)施例,各計(jì)算節(jié)點(diǎn)接收控制節(jié)點(diǎn)發(fā)送的用于指示計(jì)算替換代價(jià) 的控制命令后,計(jì)算利用保存的數(shù)據(jù)對(duì)象中的非中心點(diǎn)對(duì)象分別替換確定的設(shè)定個(gè)中心點(diǎn) 對(duì)象后對(duì)應(yīng)的替換代價(jià),具體地,各計(jì)算節(jié)點(diǎn)內(nèi)部執(zhí)行的替換代價(jià)的計(jì)算過(guò)程可以采用完 全串行方式、部分并行方式或完全并行方式,以下,針對(duì)該幾種情況分別說(shuō)明實(shí)施例一、完全串行方式如圖3所示,本發(fā)明實(shí)施例提供的計(jì)算節(jié)點(diǎn)采用完全串行方式計(jì)算利用保存的數(shù) 據(jù)對(duì)象中的非中心點(diǎn)對(duì)象分別替換確定的設(shè)定個(gè)中心點(diǎn)對(duì)象后對(duì)應(yīng)的替換代價(jià)時(shí),包括如 下步驟步驟301、選擇一個(gè)未被選擇過(guò)的非中心點(diǎn)對(duì)象作為待替換對(duì)象Oh ;步驟302、選擇一個(gè)未被選擇過(guò)的中心點(diǎn)對(duì)象Oi ;步驟303、從保存的數(shù)據(jù)對(duì)象中除待替換對(duì)象Oh以外的非中心點(diǎn)對(duì)象中選擇一個(gè) 未被選擇過(guò)的非中心點(diǎn)對(duì)象作為待測(cè)試點(diǎn)Oj ;步驟304、依次計(jì)算選擇的待測(cè)試點(diǎn)Oj分別與待替換對(duì)象Oh以及確定的K個(gè)中心 點(diǎn)對(duì)象中除中心點(diǎn)對(duì)象Oi以外的中心點(diǎn)對(duì)象的距離;步驟305、計(jì)算得到的各距離中的最小距離減去待測(cè)試點(diǎn)Oj與其當(dāng)前歸屬的簇對(duì) 應(yīng)中心點(diǎn)對(duì)象的距離得到的差值(即測(cè)試點(diǎn)替換代價(jià));步驟306、判斷保存的數(shù)據(jù)對(duì)象中除待替換對(duì)象Oh以外的非中心點(diǎn)對(duì)象是否均被 選擇作為待測(cè)試點(diǎn)0j,若否,返回步驟303,若是,執(zhí)行步驟307 ;步驟307、將通過(guò)步驟305計(jì)算得到的差值相加得到待替換對(duì)象Oh替換中心點(diǎn)對(duì)象Oi的替換代價(jià)S,并執(zhí)行步驟308 ;步驟308、判斷保存的數(shù)據(jù)對(duì)象中所有中心點(diǎn)對(duì)象是否均被選擇過(guò),若否,返回步 驟302,若是,執(zhí)行步驟309 ;步驟309、判斷保存的數(shù)據(jù)對(duì)象中所有非中心點(diǎn)對(duì)象是否均被選擇作為待替換對(duì) 象0h,若否,返回步驟301,若是,結(jié)束。實(shí)施例二、部分并行方式該實(shí)施例中,部分并行方式包括如下幾種計(jì)算過(guò)程的一種或兩種的組合計(jì)算過(guò)程1、針對(duì)選擇的待替換對(duì)象Oh、中心點(diǎn)對(duì)象Oi以及待測(cè)試對(duì)象Oj,并行計(jì) 算該待測(cè)試點(diǎn)Oj到K個(gè)中心點(diǎn)對(duì)象的距離,其中,K個(gè)中心點(diǎn)對(duì)象包括選擇出的待替換對(duì) 象0h(用于替換中心點(diǎn)對(duì)象0i、以及除Oi以外的(K-I)個(gè)中心點(diǎn)對(duì)象(即將上述流程中以 串行方式執(zhí)行的步驟304以并行方式執(zhí)行);計(jì)算過(guò)程2、針對(duì)選擇的針對(duì)選擇的待替換對(duì)象Oh以及中心點(diǎn)對(duì)象0i,并行計(jì)算 各待測(cè)試對(duì)象Oj對(duì)應(yīng)的測(cè)試點(diǎn)替換代價(jià)(即將上述流程中以串行方式執(zhí)行的步驟303 步驟306以并行方式執(zhí)行);計(jì)算過(guò)程3、針對(duì)選擇的針對(duì)選擇的待替換對(duì)象0h,并行計(jì)算該待替換對(duì)象Oh替 換各中心點(diǎn)對(duì)象Oi的替換代價(jià)(即將上述流程中以串行方式執(zhí)行的步驟302 步驟308 以并行方式執(zhí)行)。以上幾種并行過(guò)程僅為理解本發(fā)明實(shí)施例提供的部分并行方式的距離,實(shí)際應(yīng)用 中,可以對(duì)各個(gè)計(jì)算過(guò)程的計(jì)算過(guò)程的并行處理以及串行處理進(jìn)行靈活組合,例如,可以同 時(shí)選擇多個(gè)待替換對(duì)象0h,并行計(jì)算選擇的各待替換對(duì)象Oh分別替換中心點(diǎn)對(duì)象時(shí)對(duì)應(yīng) 的替換代價(jià),在具體計(jì)算各待替換對(duì)象Oh分別替換中心點(diǎn)對(duì)象時(shí)對(duì)應(yīng)的替換代價(jià)時(shí),可以 采用內(nèi)部串行方式,例如,針對(duì)選定待替換對(duì)象0h,可以依此計(jì)算該選定待替換對(duì)象Oh替 換各中心點(diǎn)對(duì)象的替換代價(jià);再例如,可以并行計(jì)算選定待替換對(duì)象Oh分別替換各中心點(diǎn) 對(duì)象的替換代價(jià),在具體計(jì)算選定待替換對(duì)象Oh替換選定中心點(diǎn)對(duì)象Oi時(shí),可以依次計(jì)算 各測(cè)試點(diǎn)對(duì)應(yīng)的測(cè)試點(diǎn)替換代價(jià)。根據(jù)本發(fā)明實(shí)施例,各個(gè)計(jì)算過(guò)程之間的并行執(zhí)行或串 行執(zhí)行可以靈活組合,此處不再一一列舉。如圖4所示,以采用上述部分串行方式中的計(jì)算過(guò)程1以及計(jì)算過(guò)程2的組合為 例,本發(fā)明實(shí)施例提供的計(jì)算節(jié)點(diǎn)計(jì)算利用保存的數(shù)據(jù)對(duì)象中的非中心點(diǎn)對(duì)象分別替換確 定的設(shè)定個(gè)中心點(diǎn)對(duì)象后對(duì)應(yīng)的替換代價(jià)時(shí),包括如下步驟步驟401、選擇一個(gè)未被選擇過(guò)的非中心點(diǎn)對(duì)象作為待替換對(duì)象Oh ;步驟402、選擇一個(gè)未被選擇過(guò)的中心點(diǎn)對(duì)象Oi ;步驟403、針對(duì)選擇的待替換對(duì)象Oh以及中心點(diǎn)對(duì)象0i,并行計(jì)算該待替換對(duì)象 Oh對(duì)應(yīng)的各測(cè)試點(diǎn)的測(cè)試點(diǎn)替換代價(jià)。步驟404、將各測(cè)試點(diǎn)替換代價(jià)相加得到該待替換對(duì)象Oh替換該中心點(diǎn)對(duì)象Oi的 替換代價(jià)。步驟405、判斷保存的數(shù)據(jù)對(duì)象中所有中心點(diǎn)對(duì)象是否均被選擇過(guò),若否,返回步 驟402,若是,執(zhí)行步驟406 ;步驟406、判斷保存的數(shù)據(jù)對(duì)象中所有非中心點(diǎn)對(duì)象是否均被選擇作為待替換對(duì) 象0h,若否,返回步驟401,若是,結(jié)束。
上述步驟403中,待替換對(duì)象Oh對(duì)應(yīng)的各測(cè)試點(diǎn)即所有數(shù)據(jù)對(duì)象中除被選擇為替 換對(duì)象Oh的非中心點(diǎn)對(duì)象以外的非中心點(diǎn)對(duì)象。具體地,替換代價(jià)的計(jì)算過(guò)程如上述流程 中步驟304以及步驟305所述,此處不再詳細(xì)描述。實(shí)施例三、完全并行方式該實(shí)施例中,即將各個(gè)計(jì)算過(guò)程均采用并行方式執(zhí)行,以獲得更高的計(jì)算效率,具 體地,并行計(jì)算各待替換對(duì)象Oh分別替換各中心點(diǎn)對(duì)象對(duì)應(yīng)的替換代價(jià),其中,針對(duì)每一 個(gè)待替換對(duì)象0h,并行計(jì)算該待替換對(duì)象Oh分別替換各中心點(diǎn)對(duì)象對(duì)應(yīng)的替換代價(jià)(即通 過(guò)一次并行計(jì)算過(guò)程獲得待替換對(duì)象Oh分別替換K各中心點(diǎn)對(duì)象對(duì)應(yīng)的K個(gè)替換代價(jià)), 并且,針對(duì)替換對(duì)象Oh替換中心點(diǎn)對(duì)象Oi對(duì)應(yīng)的替換代價(jià)的過(guò)程也并行化,如上述步驟 403至步驟404所述,此處不再重復(fù)描述。以上針對(duì)本發(fā)明實(shí)施例中各計(jì)算節(jié)點(diǎn)的執(zhí)行過(guò)程進(jìn)行了詳細(xì)說(shuō)明,當(dāng)各計(jì)算節(jié)點(diǎn) 通過(guò)計(jì)算確定其本地保存的各數(shù)據(jù)對(duì)象中的非中心點(diǎn)對(duì)象作為待替換對(duì)象Oh替換預(yù)先選 定的K個(gè)中心點(diǎn)對(duì)象分別對(duì)應(yīng)的替換代價(jià)后,控制節(jié)點(diǎn)需要獲取并合并所有計(jì)算節(jié)點(diǎn)的執(zhí) 行結(jié)果,根據(jù)執(zhí)行過(guò)程對(duì)當(dāng)前聚類結(jié)果(即確定的中心點(diǎn)對(duì)象對(duì)應(yīng)的簇以及被分配至該簇 中的數(shù)據(jù)對(duì)象)進(jìn)行調(diào)整,即對(duì)應(yīng)上述流程中的步驟204以及步驟205。其中,本發(fā)明優(yōu)選 實(shí)施例中,步驟205也可以采用并行化處理過(guò)程,具體如圖5所示,包括如下步驟步驟501、根據(jù)獲取的執(zhí)行結(jié)果中各替換代價(jià)對(duì)應(yīng)的中心點(diǎn)對(duì)象,分別將對(duì)應(yīng)同一 中心點(diǎn)對(duì)象的替換代價(jià)歸為一類;步驟502、針對(duì)每一類替換代價(jià),確定具有小于零且最小替換代價(jià)的非中心點(diǎn)對(duì) 象,并利用確定的非中心點(diǎn)對(duì)象替換當(dāng)前類對(duì)應(yīng)的中心點(diǎn)對(duì)象。本發(fā)明實(shí)施例中,控制節(jié)點(diǎn)在將分塊數(shù)據(jù)對(duì)象分配并分發(fā)給至少兩個(gè)計(jì)算節(jié)點(diǎn) 后,需要指定K個(gè)中心點(diǎn)對(duì)象以及各中心點(diǎn)對(duì)象對(duì)應(yīng)的簇內(nèi)的數(shù)據(jù)對(duì)象(即非中心點(diǎn)對(duì) 象),通過(guò)本發(fā)明實(shí)施例提供的上述方法對(duì)中心點(diǎn)對(duì)象以及對(duì)應(yīng)的簇內(nèi)的數(shù)據(jù)對(duì)象進(jìn)行調(diào) 整至最佳,本發(fā)明優(yōu)選實(shí)施例中,形成初始化簇的過(guò)程可以通過(guò)如圖6所示的過(guò)程步驟601、從待處理數(shù)據(jù)中選擇設(shè)定個(gè)數(shù)據(jù)對(duì)象作為中心點(diǎn)對(duì)象;步驟602、以串行方式或并行方式控制所述各計(jì)算節(jié)點(diǎn)計(jì)算保存的各數(shù)據(jù)對(duì)象到 所述設(shè)定個(gè)中心點(diǎn)對(duì)象的距離;步驟603、將各數(shù)據(jù)對(duì)象歸類至與其具有最小距離的中心點(diǎn)對(duì)象所表示的簇中。其中,根據(jù)本發(fā)明優(yōu)選實(shí)施例,將各數(shù)據(jù)對(duì)象歸類至與其具有最小距離的中心點(diǎn) 對(duì)象所表示的簇中,無(wú)需進(jìn)行數(shù)據(jù)對(duì)象的傳輸,而通過(guò)如下方式對(duì)各數(shù)據(jù)對(duì)象添加用于表示與其具有最小距離的中心點(diǎn)對(duì)象所表示的簇的標(biāo)識(shí)。相應(yīng)地,與上述方法流程對(duì)應(yīng),本發(fā)明實(shí)施例還提供了一種數(shù)據(jù)挖掘系統(tǒng)中數(shù)據(jù) 聚類的系統(tǒng),如圖7所示,該系統(tǒng)包括控制節(jié)點(diǎn)701以及至少兩個(gè)計(jì)算節(jié)點(diǎn)702 ;其中,控制節(jié)點(diǎn)701,用于對(duì)數(shù)據(jù)對(duì)象進(jìn)行分塊,將分塊數(shù)據(jù)對(duì)象分配并分發(fā)給至少兩個(gè) 計(jì)算節(jié)點(diǎn)702,并以串行方式或并行方式控制每個(gè)計(jì)算節(jié)點(diǎn)702執(zhí)行計(jì)算利用保存的數(shù)據(jù) 對(duì)象中的非中心點(diǎn)對(duì)象分別替換確定的設(shè)定個(gè)中心點(diǎn)對(duì)象后對(duì)應(yīng)的替換代價(jià);以及,獲取 每個(gè)計(jì)算節(jié)點(diǎn)702的執(zhí)行結(jié)果,并判斷獲取的執(zhí)行結(jié)果中是否存在小于零的替換代價(jià);若 是,確定替換同一中心點(diǎn)對(duì)象的多個(gè)非中心點(diǎn)對(duì)象中具有小于零且最小替換代價(jià)的非中心點(diǎn)對(duì)象,利用所述非中心點(diǎn)對(duì)象替換所述中心點(diǎn)對(duì)象,并繼續(xù)以串行方式或并行方式控制 每個(gè)計(jì)算節(jié)點(diǎn)702執(zhí)行計(jì)算利用保存的數(shù)據(jù)對(duì)象中的非中心點(diǎn)對(duì)象分別替換確定的設(shè)定 個(gè)中心點(diǎn)對(duì)象后對(duì)應(yīng)的替換代價(jià),直到每個(gè)計(jì)算節(jié)點(diǎn)702的執(zhí)行結(jié)果中不存在小于零的替 換代價(jià);若否,則將當(dāng)前各中心點(diǎn)對(duì)象及其對(duì)應(yīng)簇中包括的數(shù)據(jù)對(duì)象確定為最終聚類結(jié)果 并結(jié)束;計(jì)算節(jié)點(diǎn)702,用于根據(jù)控制節(jié)點(diǎn)701的控制,計(jì)算利用保存的數(shù)據(jù)對(duì)象中的非中 心點(diǎn)對(duì)象分別替換確定的設(shè)定個(gè)中心點(diǎn)對(duì)象后對(duì)應(yīng)的替換代價(jià)。本發(fā)明優(yōu)選實(shí)施例中,控制節(jié)點(diǎn)701,還用于在將分塊數(shù)據(jù)對(duì)象分配并分發(fā)給至少 兩個(gè)計(jì)算節(jié)點(diǎn)702后,從待處理數(shù)據(jù)中選擇設(shè)定個(gè)數(shù)據(jù)對(duì)象作為中心點(diǎn)對(duì)象,并以串行方 式或并行方式控制各計(jì)算節(jié)點(diǎn)702執(zhí)行計(jì)算保存的各數(shù)據(jù)對(duì)象到所述設(shè)定個(gè)中心點(diǎn)對(duì)象 的距離;將各數(shù)據(jù)對(duì)象歸類至與其具有最小距離的中心點(diǎn)對(duì)象所表示的簇中;相應(yīng)地,上述計(jì)算節(jié)點(diǎn)702,還用于根據(jù)控制節(jié)點(diǎn)701的控制,計(jì)算保存的各數(shù)據(jù) 對(duì)象到所述設(shè)定個(gè)中心點(diǎn)對(duì)象的距離,并將各數(shù)據(jù)對(duì)象歸類至與其具有最小距離的中心點(diǎn) 對(duì)象所表示的簇中。相應(yīng)地,與上述方法流程對(duì)應(yīng),本發(fā)明實(shí)施例還提供了一種控制節(jié)點(diǎn),如圖8所 示,該控制節(jié)點(diǎn)包括分配單元801,用于對(duì)數(shù)據(jù)對(duì)象進(jìn)行分塊,將分塊數(shù)據(jù)對(duì)象分配并分發(fā)給至少兩個(gè) 計(jì)算節(jié)點(diǎn);控制單元802,用于以串行方式或并行方式控制每個(gè)計(jì)算節(jié)點(diǎn)執(zhí)行計(jì)算利用保 存的數(shù)據(jù)對(duì)象中的非中心點(diǎn)對(duì)象分別替換確定的設(shè)定個(gè)中心點(diǎn)對(duì)象后對(duì)應(yīng)的替換代價(jià);匯總單元803,用于獲取每個(gè)計(jì)算節(jié)點(diǎn)的執(zhí)行結(jié)果;判斷單元804,用于判斷匯總單元803獲取的執(zhí)行結(jié)果中是否存在小于零的替換 代價(jià);若是,確定替換同一中心點(diǎn)對(duì)象的多個(gè)非中心點(diǎn)對(duì)象中具有小于零且最小替換代 價(jià)的非中心點(diǎn)對(duì)象,利用所述非中心點(diǎn)對(duì)象替換所述中心點(diǎn)對(duì)象,并觸發(fā)控制單元802動(dòng) 作;若否,則將當(dāng)前各中心點(diǎn)對(duì)象及其對(duì)應(yīng)簇中包括的數(shù)據(jù)對(duì)象確定為最終聚類結(jié)果 并結(jié)束。本發(fā)明優(yōu)選實(shí)施例中,上述判斷單元804,具體用于在判斷匯總單元803獲取的執(zhí)行結(jié)果中存在小于零的替換代價(jià)時(shí),根據(jù)獲取的執(zhí) 行結(jié)果中各替換代價(jià)對(duì)應(yīng)的中心點(diǎn)對(duì)象,分別將對(duì)應(yīng)同一中心點(diǎn)對(duì)象的替換代價(jià)歸為一 類,并針對(duì)每一類替換代價(jià)以串行方式或并行方式執(zhí)行利用當(dāng)前類替換代價(jià)中具有小于零且最小替換代價(jià)的非中心點(diǎn)對(duì)象替換當(dāng)前類 對(duì)應(yīng)的中心點(diǎn)對(duì)象。本發(fā)明優(yōu)選實(shí)施例中,上述控制單元802,還用于從待處理數(shù)據(jù)中選擇設(shè)定個(gè)數(shù)據(jù)對(duì)象作為中心點(diǎn)對(duì)象,并以串行方式或并行方式 控制所述各計(jì)算節(jié)點(diǎn)執(zhí)行計(jì)算保存的各數(shù)據(jù)對(duì)象到所述設(shè)定個(gè)中心點(diǎn)對(duì)象的距離;將所述各數(shù)據(jù)對(duì)象歸類至與其具有最小距離的中心點(diǎn)對(duì)象所表示的簇中。
本發(fā)明優(yōu)選實(shí)施例中,上述控制單元802,具體用于控制各計(jì)算節(jié)點(diǎn)在計(jì)算保存的各數(shù)據(jù)對(duì)象到所述設(shè)定個(gè)中心點(diǎn)對(duì)象的距離后,對(duì) 各數(shù)據(jù)對(duì)象添加用于表示與其具有最小距離的中心點(diǎn)對(duì)象所表示的簇的標(biāo)識(shí)。應(yīng)當(dāng)理解,以上控制節(jié)點(diǎn)裝置包括的單元僅為根據(jù)該裝置實(shí)現(xiàn)的功能進(jìn)行的邏輯 劃分,實(shí)際應(yīng)用中,可以進(jìn)行上述單元的疊加或拆分。并且該實(shí)施例提供的控制節(jié)點(diǎn)所實(shí)現(xiàn) 的功能與上述實(shí)施例提供的數(shù)據(jù)挖掘系統(tǒng)中數(shù)據(jù)聚類的方法流程一一對(duì)應(yīng),對(duì)于該裝置所 實(shí)現(xiàn)的更為詳細(xì)的處理流程,在上述方法實(shí)施例中已做詳細(xì)描述,此處不再詳細(xì)描述。相應(yīng)地,與上述方法流程對(duì)應(yīng),本發(fā)明實(shí)施例還提供了一種計(jì)算節(jié)點(diǎn),如圖9所 示,該計(jì)算節(jié)點(diǎn)包括數(shù)據(jù)存儲(chǔ)單元901,用于存儲(chǔ)控制節(jié)點(diǎn)分配并分發(fā)的數(shù)據(jù)對(duì)象;計(jì)算單元902,用于根據(jù)控制節(jié)點(diǎn)的控制,計(jì)算利用數(shù)據(jù)存儲(chǔ)單元901存儲(chǔ)的數(shù)據(jù) 對(duì)象中的非中心點(diǎn)對(duì)象分別替換確定的設(shè)定個(gè)中心點(diǎn)對(duì)象后對(duì)應(yīng)的替換代價(jià)。本發(fā)明優(yōu)選實(shí)施例中,上述計(jì)算單元902,具體用于針對(duì)所述保存的數(shù)據(jù)對(duì)象中每個(gè)第一非中心點(diǎn)對(duì)象,以串行方式或并行方式執(zhí) 行Bi、選擇一個(gè)未被選擇過(guò)的第一中心點(diǎn)對(duì)象,以串行方式或并行方式執(zhí)行步驟Bll 至步驟B14 B11、從保存的數(shù)據(jù)對(duì)象中除所述第一非中心點(diǎn)對(duì)象以外的非中心點(diǎn)對(duì)象中選擇 一個(gè)未被選擇過(guò)的第二非中心點(diǎn)對(duì)象;B12、計(jì)算選擇的所述第二非中心點(diǎn)對(duì)象分別與所述第一非中心點(diǎn)對(duì)象以及確定 的設(shè)定個(gè)中心點(diǎn)對(duì)象中除所述第一中心點(diǎn)對(duì)象以外的中心點(diǎn)對(duì)象的距離;B13、計(jì)算所述距離中的最小距離減去所述第二非中心點(diǎn)對(duì)象與其當(dāng)前歸屬的簇 對(duì)應(yīng)中心點(diǎn)對(duì)象的距離得到的差值;B14、判斷保存的數(shù)據(jù)對(duì)象中除所述第一非中心點(diǎn)對(duì)象以外的非中心點(diǎn)對(duì)象是否 均被選擇過(guò);若否,返回步驟Bll;若是,將通過(guò)所述步驟B13計(jì)算得到的差值相加得到所述第一非中心點(diǎn)對(duì)象替換 所述第一中心點(diǎn)對(duì)象的替換代價(jià),并執(zhí)行步驟B2 ;B2、判斷保存的數(shù)據(jù)對(duì)象中所有中心點(diǎn)對(duì)象是否均被選擇過(guò);若否,返回步驟Bi;若是,結(jié)束。應(yīng)當(dāng)理解,以上計(jì)算節(jié)點(diǎn)裝置包括的單元僅為根據(jù)該裝置實(shí)現(xiàn)的功能進(jìn)行的邏輯 劃分,實(shí)際應(yīng)用中,可以進(jìn)行上述單元的疊加或拆分。并且該實(shí)施例提供的計(jì)算節(jié)點(diǎn)所實(shí)現(xiàn) 的功能與上述實(shí)施例提供的數(shù)據(jù)挖掘系統(tǒng)中數(shù)據(jù)聚類的方法流程一一對(duì)應(yīng),對(duì)于該裝置所 實(shí)現(xiàn)的更為詳細(xì)的處理流程,在上述方法實(shí)施例中已做詳細(xì)描述,此處不再詳細(xì)描述。通過(guò)本發(fā)明實(shí)施例提供的上述至少一個(gè)技術(shù)方案,由控制節(jié)點(diǎn)將待挖掘的數(shù)據(jù)對(duì) 象分塊,將分塊數(shù)據(jù)分配并分發(fā)至至少兩個(gè)計(jì)算節(jié)點(diǎn)中,并采用并行或串行方式控制每個(gè) 計(jì)算機(jī)計(jì)算利用保存的數(shù)據(jù)對(duì)象中的非中心點(diǎn)對(duì)象分別替換確定的設(shè)定個(gè)中心點(diǎn)對(duì)象后 對(duì)應(yīng)的替換代價(jià),并獲取每個(gè)計(jì)算節(jié)點(diǎn)的執(zhí)行結(jié)果,判斷獲取的執(zhí)行結(jié)果中是否存在小于零的替換代價(jià),若是,則確定替換同一中心點(diǎn)對(duì)象的多個(gè)非中心點(diǎn)對(duì)象中具有小于零且最 小替換代價(jià)的非中心點(diǎn)對(duì)象,利用所述非中心點(diǎn)對(duì)象替換所述中心點(diǎn)對(duì)象,并返回控制每 個(gè)計(jì)算機(jī)計(jì)算利用保存的數(shù)據(jù)對(duì)象中的非中心點(diǎn)對(duì)象分別替換確定的設(shè)定個(gè)中心點(diǎn)對(duì)象 后對(duì)應(yīng)的替換代價(jià)的步驟,直到各計(jì)算節(jié)點(diǎn)計(jì)算得到的替換代價(jià)均大于等于零;若否,則將 當(dāng)前各中心點(diǎn)對(duì)象及其對(duì)應(yīng)簇中包括的數(shù)據(jù)對(duì)象確定為最終聚類結(jié)果并結(jié)束。根據(jù)本發(fā)明 提供的技術(shù)方案,控制節(jié)點(diǎn)能夠控制將待處理數(shù)據(jù)分布至多個(gè)計(jì)算節(jié)點(diǎn),從而提高了數(shù)據(jù) 的處理量,能夠處理海量數(shù)據(jù)的挖掘需求。并且,根據(jù)本發(fā)明提供的技術(shù)方案,可以將數(shù)據(jù) 分布至多個(gè)計(jì)算節(jié)點(diǎn)處理,從而對(duì)于單個(gè)計(jì)算節(jié)點(diǎn)而言,降低了數(shù)據(jù)處理負(fù)擔(dān),相應(yīng)地提高 了計(jì)算效率,尤其在計(jì)算節(jié)點(diǎn)內(nèi)部采用并行處理方式的情況下,更進(jìn)一步提高了數(shù)據(jù)處理 效率。本發(fā)明實(shí)施例中,對(duì)k個(gè)中心點(diǎn)對(duì)象的替換代價(jià)計(jì)算也并行實(shí)現(xiàn),在并行計(jì)算待 測(cè)試對(duì)象到k-1個(gè)中心點(diǎn)對(duì)象和待替換數(shù)據(jù)距離時(shí),一次計(jì)算到k個(gè)中心點(diǎn)對(duì)象距離,并可 以多次使用,不僅減少了操作步驟,而且避免了重復(fù)計(jì)算,提高系統(tǒng)性能。本發(fā)明實(shí)施例提供的技術(shù)方案適用于PAM以及CLARANS算法。CLARA先抽取數(shù)據(jù) 集合的多個(gè)樣本,然后用PAM方法在抽樣的樣本中尋找最佳的k中心點(diǎn)對(duì)象,返回最好的聚 類結(jié)果作為輸出。CLARANS隨機(jī)搜索聚類算法與CLARA類似采用抽樣方法,但CLARANS在搜 索的每一步都帶一定隨機(jī)性地選取一個(gè)樣本。顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精 神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍 之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。
權(quán)利要求
1.一種數(shù)據(jù)挖掘系統(tǒng)中數(shù)據(jù)聚類的方法,其特征在于,包括A、主控節(jié)點(diǎn)對(duì)數(shù)據(jù)對(duì)象進(jìn)行分塊,將分塊后的數(shù)據(jù)對(duì)象分發(fā)給至少兩個(gè)計(jì)算節(jié)點(diǎn);B、以串行方式或并行方式控制所述每個(gè)計(jì)算節(jié)點(diǎn)執(zhí)行計(jì)算利用保存的數(shù)據(jù)對(duì)象中的非中心點(diǎn)對(duì)象分別替換確定的設(shè)定個(gè)中心點(diǎn)對(duì)象后對(duì) 應(yīng)的替換代價(jià);C、所述主控節(jié)點(diǎn)獲取所述每個(gè)計(jì)算節(jié)點(diǎn)的執(zhí)行結(jié)果,并判斷獲取的執(zhí)行結(jié)果中是否存 在小于零的替換代價(jià);若是,確定替換同一中心點(diǎn)對(duì)象的多個(gè)非中心點(diǎn)對(duì)象中具有小于零且最小替換代價(jià)的 非中心點(diǎn)對(duì)象,利用確定的所述非中心點(diǎn)對(duì)象替換所述中心點(diǎn)對(duì)象,并返回步驟B ;若否,則將當(dāng)前各中心點(diǎn)對(duì)象及其對(duì)應(yīng)簇中包括的數(shù)據(jù)對(duì)象確定為最終聚類結(jié)果并結(jié)束ο
2.如權(quán)利要求1所述的方法,其特征在于,上述步驟B中,計(jì)算利用保存的數(shù)據(jù)對(duì)象中 的非中心點(diǎn)對(duì)象分別替換確定的設(shè)定個(gè)中心點(diǎn)對(duì)象后對(duì)應(yīng)的替換代價(jià),包括針對(duì)所述保存的數(shù)據(jù)對(duì)象中每個(gè)第一非中心點(diǎn)對(duì)象,以串行方式或并行方式執(zhí)行 Bi、選擇一個(gè)未被選擇過(guò)的第一中心點(diǎn)對(duì)象,以串行方式或并行方式執(zhí)行步驟Bll至 步驟B14 B11、從保存的數(shù)據(jù)對(duì)象中除所述第一非中心點(diǎn)對(duì)象以外的非中心點(diǎn)對(duì)象中選擇一個(gè) 未被選擇過(guò)的第二非中心點(diǎn)對(duì)象;B12、計(jì)算選擇的所述第二非中心點(diǎn)對(duì)象分別與所述第一非中心點(diǎn)對(duì)象以及確定的設(shè) 定個(gè)中心點(diǎn)對(duì)象中除所述第一中心點(diǎn)對(duì)象以外的中心點(diǎn)對(duì)象的距離;B13、計(jì)算所述距離中的最小距離減去所述第二非中心點(diǎn)對(duì)象與其當(dāng)前歸屬的簇對(duì)應(yīng) 中心點(diǎn)對(duì)象的距離得到的差值;B14、判斷保存的數(shù)據(jù)對(duì)象中除所述第一非中心點(diǎn)對(duì)象以外的非中心點(diǎn)對(duì)象是否均被 選擇過(guò);若否,返回步驟Bll ;若是,將通過(guò)所述步驟B13計(jì)算得到的差值相加得到所述第一非中心點(diǎn)對(duì)象替換所述 第一中心點(diǎn)對(duì)象的替換代價(jià),并執(zhí)行步驟B2 ;B2、判斷保存的數(shù)據(jù)對(duì)象中所有中心點(diǎn)對(duì)象是否均被選擇過(guò); 若否,返回步驟Bl ;右是 結(jié)束ο
3.如權(quán)利要求1所述的方法,其特征在于,所述步驟C中,確定替換同一中心點(diǎn)對(duì)象的 多個(gè)非中心點(diǎn)對(duì)象中具有小于零且最小替換代價(jià)的非中心點(diǎn)對(duì)象,利用所述非中心點(diǎn)對(duì)象 替換所述中心點(diǎn)對(duì)象,包括根據(jù)獲取的執(zhí)行結(jié)果中各替換代價(jià)對(duì)應(yīng)的中心點(diǎn)對(duì)象,分別將對(duì)應(yīng)同一中心點(diǎn)對(duì)象的 替換代價(jià)歸為一類,并針對(duì)所述每一類替換代價(jià)以串行方式或并行方式執(zhí)行利用當(dāng)前類替換代價(jià)中具有小于零且最小替換代價(jià)的非中心點(diǎn)對(duì)象替換當(dāng)前類對(duì)應(yīng) 的中心點(diǎn)對(duì)象。
4.如權(quán)利要求1所述的方法,其特征在于,在執(zhí)行完所述步驟A后,還包括從所述待處理數(shù)據(jù)中選擇設(shè)定個(gè)數(shù)據(jù)對(duì)象作為中心點(diǎn)對(duì)象,并以串行方式或并行方式控制所述各計(jì)算節(jié)點(diǎn)執(zhí)行計(jì)算保存的各數(shù)據(jù)對(duì)象到所述設(shè)定個(gè)中心點(diǎn)對(duì)象的距離;將所述各數(shù)據(jù)對(duì)象歸類至與其具有最小距離的中心點(diǎn)對(duì)象所表示的簇中。
5.如權(quán)利要求4所述的方法,其特征在于,將所述各數(shù)據(jù)對(duì)象歸類至與其具有最小距 離的中心點(diǎn)對(duì)象所表示的簇中,包括對(duì)所述各數(shù)據(jù)對(duì)象添加用于表示與其具有最小距離的中心點(diǎn)對(duì)象所表示的簇的標(biāo)識(shí)。
6.一種數(shù)據(jù)挖掘系統(tǒng)中數(shù)據(jù)聚類的系統(tǒng),其特征在于,包括控制節(jié)點(diǎn)以及至少兩個(gè)計(jì) 算節(jié)點(diǎn);其中,所述控制節(jié)點(diǎn),用于對(duì)數(shù)據(jù)對(duì)象進(jìn)行分塊,將分塊后的數(shù)據(jù)對(duì)象分發(fā)給所述至少兩個(gè) 計(jì)算節(jié)點(diǎn),并以串行方式或并行方式控制所述每個(gè)計(jì)算節(jié)點(diǎn)執(zhí)行計(jì)算利用保存的數(shù)據(jù)對(duì) 象中的非中心點(diǎn)對(duì)象分別替換確定的設(shè)定個(gè)中心點(diǎn)對(duì)象后對(duì)應(yīng)的替換代價(jià);以及,獲取所 述每個(gè)計(jì)算節(jié)點(diǎn)的執(zhí)行結(jié)果,并判斷獲取的執(zhí)行結(jié)果中是否存在小于零的替換代價(jià);若是, 確定替換同一中心點(diǎn)對(duì)象的多個(gè)非中心點(diǎn)對(duì)象中具有小于零且最小替換代價(jià)的非中心點(diǎn) 對(duì)象,利用所述非中心點(diǎn)對(duì)象替換所述中心點(diǎn)對(duì)象,并繼續(xù)以串行方式或并行方式控制所 述每個(gè)計(jì)算節(jié)點(diǎn)執(zhí)行計(jì)算利用保存的數(shù)據(jù)對(duì)象中的非中心點(diǎn)對(duì)象分別替換確定的設(shè)定個(gè) 中心點(diǎn)對(duì)象后對(duì)應(yīng)的替換代價(jià),直到所述每個(gè)計(jì)算節(jié)點(diǎn)的執(zhí)行結(jié)果中不存在小于零的替換 代價(jià);若否,則將當(dāng)前各中心點(diǎn)對(duì)象及其對(duì)應(yīng)簇中包括的數(shù)據(jù)對(duì)象確定為最終聚類結(jié)果并 結(jié)束;所述計(jì)算節(jié)點(diǎn),用于根據(jù)所述控制節(jié)點(diǎn)的控制,計(jì)算利用保存的數(shù)據(jù)對(duì)象中的非中心 點(diǎn)對(duì)象分別替換確定的設(shè)定個(gè)中心點(diǎn)對(duì)象后對(duì)應(yīng)的替換代價(jià)。
7.如權(quán)利要求6所述的系統(tǒng),其特征在于,所述控制節(jié)點(diǎn),還用于在將分塊數(shù)據(jù)對(duì)象分發(fā)給所述至少兩個(gè)計(jì)算節(jié)點(diǎn)后,從所述待 處理數(shù)據(jù)中選擇設(shè)定個(gè)數(shù)據(jù)對(duì)象作為中心點(diǎn)對(duì)象,并以串行方式或并行方式控制所述各計(jì) 算節(jié)點(diǎn)執(zhí)行計(jì)算保存的各數(shù)據(jù)對(duì)象到所述設(shè)定個(gè)中心點(diǎn)對(duì)象的距離;將所述各數(shù)據(jù)對(duì)象 歸類至與其具有最小距離的中心點(diǎn)對(duì)象所表示的簇中;所述計(jì)算節(jié)點(diǎn),還用于根據(jù)所述控制節(jié)點(diǎn)的控制,計(jì)算保存的各數(shù)據(jù)對(duì)象到所述設(shè)定 個(gè)中心點(diǎn)對(duì)象的距離,并將所述各數(shù)據(jù)對(duì)象歸類至與其具有最小距離的中心點(diǎn)對(duì)象所表示 的簇中。
8.—種控制節(jié)點(diǎn),其特征在于,包括分配單元,用于對(duì)數(shù)據(jù)對(duì)象進(jìn)行分塊,將分塊后的數(shù)據(jù)對(duì)象分發(fā)給至少兩個(gè)計(jì)算節(jié)點(diǎn)??刂茊卧糜谝源蟹绞交虿⑿蟹绞娇刂扑雒總€(gè)計(jì)算節(jié)點(diǎn)執(zhí)行 計(jì)算利用保存的數(shù)據(jù)對(duì)象中的非中心點(diǎn)對(duì)象分別替換確定的設(shè)定個(gè)中心點(diǎn)對(duì)象后對(duì) 應(yīng)的替換代價(jià);匯總單元,用于獲取所述每個(gè)計(jì)算節(jié)點(diǎn)的執(zhí)行結(jié)果;判斷單元,用于判斷所述匯總單元獲取的執(zhí)行結(jié)果中是否存在小于零的替換代價(jià); 若是,確定替換同一中心點(diǎn)對(duì)象的多個(gè)非中心點(diǎn)對(duì)象中具有小于零且最小替換代價(jià)的 非中心點(diǎn)對(duì)象,利用所述非中心點(diǎn)對(duì)象替換所述中心點(diǎn)對(duì)象,并觸發(fā)所述控制單元?jiǎng)幼鳎?若否,則將當(dāng)前各中心點(diǎn)對(duì)象及其對(duì)應(yīng)簇中包括的數(shù)據(jù)對(duì)象確定為最終聚類結(jié)果并結(jié)束。
9.如權(quán)利要求8所述的控制節(jié)點(diǎn),其特征在于,所述判斷單元,具體用于在判斷所述匯總單元獲取的執(zhí)行結(jié)果中存在小于零的替換代價(jià)時(shí),根據(jù)獲取的執(zhí)行結(jié) 果中各替換代價(jià)對(duì)應(yīng)的中心點(diǎn)對(duì)象,分別將對(duì)應(yīng)同一中心點(diǎn)對(duì)象的替換代價(jià)歸為一類,并 針對(duì)所述每一類替換代價(jià)以串行方式或并行方式執(zhí)行利用當(dāng)前類替換代價(jià)中具有小于零且最小替換代價(jià)的非中心點(diǎn)對(duì)象替換當(dāng)前類對(duì)應(yīng) 的中心點(diǎn)對(duì)象。
10.如權(quán)利要求8所述的控制節(jié)點(diǎn),其特征在于,所述控制單元,還用于從所述待處理數(shù)據(jù)中選擇設(shè)定個(gè)數(shù)據(jù)對(duì)象作為中心點(diǎn)對(duì)象,并以串行方式或并行方式 控制所述各計(jì)算節(jié)點(diǎn)執(zhí)行計(jì)算保存的各數(shù)據(jù)對(duì)象到所述設(shè)定個(gè)中心點(diǎn)對(duì)象的距離;將所述各數(shù)據(jù)對(duì)象歸類至與其具有最小距離的中心點(diǎn)對(duì)象所表示的簇中。
11.如權(quán)利要求10所述的控制節(jié)點(diǎn),其特征在于,所述控制單元,具體用于控制所述各計(jì)算節(jié)點(diǎn)在計(jì)算保存的各數(shù)據(jù)對(duì)象到所述設(shè)定個(gè)中心點(diǎn)對(duì)象的距離后,對(duì) 所述各數(shù)據(jù)對(duì)象添加用于表示與其具有最小距離的中心點(diǎn)對(duì)象所表示的簇的標(biāo)識(shí)。
12.—種計(jì)算節(jié)點(diǎn),其特征在于,包括數(shù)據(jù)存儲(chǔ)單元,用于存儲(chǔ)控制節(jié)點(diǎn)分發(fā)的數(shù)據(jù)對(duì)象;計(jì)算單元,用于根據(jù)所述控制節(jié)點(diǎn)的控制,計(jì)算利用所述數(shù)據(jù)存儲(chǔ)單元存儲(chǔ)的數(shù)據(jù)對(duì) 象中的非中心點(diǎn)對(duì)象分別替換確定的設(shè)定個(gè)中心點(diǎn)對(duì)象后對(duì)應(yīng)的替換代價(jià)。
13.如權(quán)利要求12所述的計(jì)算節(jié)點(diǎn),其特征在于,所述計(jì)算單元,具體用于 針對(duì)所述保存的數(shù)據(jù)對(duì)象中每個(gè)第一非中心點(diǎn)對(duì)象,以串行方式或并行方式執(zhí)行 Bi、選擇一個(gè)未被選擇過(guò)的第一中心點(diǎn)對(duì)象,以串行方式或并行方式執(zhí)行步驟Bll至步驟B14 B11、從保存的數(shù)據(jù)對(duì)象中除所述第一非中心點(diǎn)對(duì)象以外的非中心點(diǎn)對(duì)象中選擇一個(gè) 未被選擇過(guò)的第二非中心點(diǎn)對(duì)象;B12、計(jì)算選擇的所述第二非中心點(diǎn)對(duì)象分別與所述第一非中心點(diǎn)對(duì)象以及確定的設(shè) 定個(gè)中心點(diǎn)對(duì)象中除所述第一中心點(diǎn)對(duì)象以外的中心點(diǎn)對(duì)象的距離;B13、計(jì)算所述距離中的最小距離減去所述第二非中心點(diǎn)對(duì)象與其當(dāng)前歸屬的簇對(duì)應(yīng) 中心點(diǎn)對(duì)象的距離得到的差值;B14、判斷保存的數(shù)據(jù)對(duì)象中除所述第一非中心點(diǎn)對(duì)象以外的非中心點(diǎn)對(duì)象是否均被 選擇過(guò);若否,返回步驟Bll ;若是,將通過(guò)所述步驟B13計(jì)算得到的差值相加得到所述第一非中心點(diǎn)對(duì)象替換所述 第一中心點(diǎn)對(duì)象的替換代價(jià),并執(zhí)行步驟B2 ;B2、判斷保存的數(shù)據(jù)對(duì)象中所有中心點(diǎn)對(duì)象是否均被選擇過(guò); 若否,返回步驟Bl ;若是,結(jié)束。
全文摘要
本發(fā)明公開(kāi)了一種數(shù)據(jù)挖掘系統(tǒng)中數(shù)據(jù)聚類的方法、系統(tǒng)及裝置,主要包括A、主控節(jié)點(diǎn)將分塊數(shù)據(jù)對(duì)象分發(fā)給至少兩個(gè)計(jì)算節(jié)點(diǎn);B、以串行方式或并行方式控制每個(gè)計(jì)算節(jié)點(diǎn)計(jì)算利用保存的數(shù)據(jù)對(duì)象中的非中心點(diǎn)對(duì)象分別替換設(shè)定個(gè)中心點(diǎn)對(duì)象后對(duì)應(yīng)的替換代價(jià);C、獲取每個(gè)計(jì)算節(jié)點(diǎn)的執(zhí)行結(jié)果,并是否存在小于零的替換代價(jià);若是,確定替換同一中心點(diǎn)對(duì)象的多個(gè)非中心點(diǎn)對(duì)象中最小替換代價(jià)的非中心點(diǎn)對(duì)象,替換中心點(diǎn)對(duì)象,并返回步驟B;若否,則將當(dāng)前各中心點(diǎn)對(duì)象及對(duì)應(yīng)簇確定為最終聚類結(jié)果。根據(jù)該技術(shù)方案,提高了計(jì)算效率,并且應(yīng)用于海量數(shù)據(jù)的處理需求。
文檔編號(hào)G06F17/30GK102141988SQ20101010297
公開(kāi)日2011年8月3日 申請(qǐng)日期2010年1月28日 優(yōu)先權(quán)日2010年1月28日
發(fā)明者何清, 何鴻凌, 周文輝, 孫少陵, 徐萌, 羅治國(guó), 趙衛(wèi)中, 鄧超, 陶濤, 馬慧芳, 高丹 申請(qǐng)人:中國(guó)移動(dòng)通信集團(tuán)公司