AP in R
? ? ? AP聚類算法是目前十分火的一種聚類算法,它解決了傳統(tǒng)的聚類算法的很多問題。不僅簡單,而且聚類效果還不錯。這里,把前兩天學(xué)習(xí)的AP算法在R語言上面的模擬,將個(gè)人筆記拿出來與大家分享一下,不談AP算法的原理,只初步的講一下應(yīng)用,更多請關(guān)注下期。
APClusting in R
相似矩陣的計(jì)算
negDistMat(x, sel=NA, r=1, method="euclidean", p=2) expSimMat(x, sel=NA, r=2, w=1, method="euclidean", p=2) 相似度公式:s=exp(-(d/w)^r) linSimMat(x, sel=NA, w=1, method="euclidean", p=2) 相似度公式:s=max(0,1-d/w) corSimMat(x, sel=NA, r=1, signed=TRUE, method="pearson") 相似度公式:s=(x^T y)/(|x| |y|) linKernel(x, sel=NA, normalize=FALSE)x若是向量,則取其所有值進(jìn)行矩陣求取。若是矩陣和數(shù)據(jù)框,則取行作為sample。
如:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ????????????????
向量?????????????????????????????????????????????????????????????????????????????? 矩陣
AP聚類函數(shù)
①Apcluster()進(jìn)行Ap過程
apcluster(x,p)
x是相似矩陣
p是指定簇時(shí)候的界定值
②同時(shí)求相似矩陣和執(zhí)行Ap
apcluster(s, x) s是相似矩陣的求取函數(shù) 其中,negDistMat()可以指定參數(shù),如negDistMat(r=2)聚類返回結(jié)果APResult
我們作一個(gè)二維的數(shù)據(jù)集的聚類
?
?
?
從圖中我們可以看到
a.樣本個(gè)數(shù)?????????????????????????????????
b.迭代次數(shù)????????????????????????????????? res@it
c.簇的個(gè)數(shù)以及簇的成員?????
d.簇的界定值 Input preference大于它就被選為簇中心
e.簇中心 Exemplar
等;
res@sim?????????? 相似矩陣
對結(jié)果進(jìn)行繪圖
plot函數(shù)
apcluster包里面對plot函數(shù)進(jìn)行了重寫,plot(x,y)
x是聚類結(jié)果,y是數(shù)據(jù)集
?
由上圖我們也可以看到,兩個(gè)簇中心是30[0.2796125? 0.7300467]、36[0.7023239 ?0.4018984]
?
?
heatmap函數(shù) a. heatmap(x) x是聚類結(jié)果?
由上圖可以看出各點(diǎn)之間的相似度
b.
heatmap(sim),畫相似矩陣的熱點(diǎn)圖,如圖
heatmap(res@sim[1:10,1:10])
由于數(shù)據(jù)較多,我們只取前10行以及前10列進(jìn)行繪圖
?
由上圖可以看出各點(diǎn)之間的相似對,以及他們之間的層次關(guān)系.
轉(zhuǎn)載于:https://www.cnblogs.com/mixes/p/3707805.html
總結(jié)
 
                            
                        - 上一篇: UNITY3D与iOS交互解决方案
- 下一篇: 周杰伦为什么打死不承认蔡依林这个女友?
