基于Kmeans+Canopy聚類的協(xié)同過(guò)濾算法代碼實(shí)現(xiàn)(輸出聚類計(jì)算過(guò)程,分布圖展示)

基于Kmeans+Canopy聚類的協(xié)同過(guò)濾算法代碼實(shí)現(xiàn)(輸出聚類計(jì)算過(guò)程,分布圖展示)

聚類(Clustering)就是將數(shù)據(jù)對(duì)象分組成為多個(gè)類或者簇 (Cluster),它的目標(biāo)是:在同一個(gè)簇中的對(duì)象之間具有較高的相似度,而不同簇中的對(duì)象差別較大。所以,在很多應(yīng)用中,一個(gè)簇中的數(shù)據(jù)對(duì)象可以被作為一個(gè)整體來(lái)對(duì)待,從而減少計(jì)算量或者提高計(jì)算質(zhì)量。

一、Kmeans+Canopy聚類算法實(shí)現(xiàn)原理

影響Kmeans聚類算法結(jié)果的因素有距離閥值、初始簇的選擇、遍歷次數(shù),其中距離閥值和遍歷次數(shù)可通過(guò)不斷測(cè)試來(lái)實(shí)現(xiàn)最佳,但是初始簇的選擇如果是隨機(jī)選擇,每次運(yùn)行的結(jié)果差別可能會(huì)很大,使用Canopy聚類算法用于K均值聚類算法的預(yù)處理,用來(lái)找合適的k值和簇中心效果較好。

本文主要是java語(yǔ)言實(shí)現(xiàn),1000個(gè)點(diǎn)(本文是二維向量,也可以是多維,實(shí)現(xiàn)原理和程序一樣),程序運(yùn)行過(guò)程中會(huì)輸出每一次遍歷點(diǎn)的簇中心,和簇中包含的點(diǎn),并將最終結(jié)果通過(guò)插件在html中顯示。

二、Kmeans+Canopy聚類算法實(shí)現(xiàn)部分步驟

將本地文件讀取到點(diǎn)集合中:


三、Kmeans+Canopy聚類算法實(shí)現(xiàn)結(jié)果

1、Canopy運(yùn)算結(jié)果:


2、Kmeans+Canopy運(yùn)算結(jié)果:




3、分布圖:



需要源代碼的朋友可聯(lián)系我們,也可以留言、私信交流。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容