聚類(一):DBSCAN算法實(shí)現(xiàn)(r語(yǔ)言)

原文鏈接:聚類(一):DBSCAN算法實(shí)現(xiàn)(r語(yǔ)言)

微信公眾號(hào):機(jī)器學(xué)習(xí)養(yǎng)成記? ? 搜索添加微信公眾號(hào):chenchenwings

DBSCAN(Density-BasedSpatial Clustering of Applications with Noise)么夫,一種基于密度的聚類方法箕别,即找到被低密度區(qū)域分離的稠密區(qū)域嗅义,要求聚類空間中的一定區(qū)域內(nèi)所包含對(duì)象(點(diǎn)或其他空間對(duì)象)的數(shù)目不小于某一給定閾值。

Some points

一讳癌、兩個(gè)參數(shù)。

1奶浦,距離參數(shù)(Eps)

2私痹,鄰域內(nèi)點(diǎn)最少個(gè)數(shù)(MinPts)

二、根據(jù)基于中心的密度進(jìn)行點(diǎn)分類匠抗。

密度的基于中心的方法使得點(diǎn)分為三類:

1故源,核心點(diǎn)。稠密區(qū)域內(nèi)部的點(diǎn)汞贸。該點(diǎn)以Eps為半徑的區(qū)域內(nèi)點(diǎn)的個(gè)數(shù)不少于MinPts(包括自身)绳军。

2,邊界點(diǎn)矢腻。稠密區(qū)邊緣上的點(diǎn)门驾,不是核心點(diǎn),但在某個(gè)或多個(gè)核心點(diǎn)鄰域內(nèi)踏堡。

3猎唁,噪聲點(diǎn)。稀疏區(qū)域中的點(diǎn)顷蟆,既非核心點(diǎn)也非邊界點(diǎn)诫隅。

4,密度可達(dá)帐偎。如果點(diǎn)p在核心點(diǎn)q的Eps鄰域內(nèi)逐纬,則稱p是從q出發(fā)可以直接密度可達(dá)。如果存在點(diǎn)鏈p1,p2, …, pn削樊,p1=q豁生,pn=p兔毒,pi+1是從pi直接密度可達(dá),則稱點(diǎn)p是從q關(guān)于r和M密度可達(dá)的甸箱,密度可達(dá)是單向的育叁。

算法流程

從某點(diǎn)出發(fā),將密度可達(dá)的點(diǎn)聚為一類芍殖,不斷進(jìn)行區(qū)域擴(kuò)張豪嗽,直至所有點(diǎn)都被訪問(wèn)。

R語(yǔ)言實(shí)現(xiàn)

在R中實(shí)現(xiàn)DBSCAN聚類豌骏,可以使用fpc包中的dbscan()函數(shù)龟梦。在下面的例子中,我們使用factoextra包中的數(shù)據(jù)集multishapes進(jìn)行演示窃躲。

如下可查看聚類后的結(jié)果:

具體每個(gè)樣本點(diǎn)的分類結(jié)果计贰,可用db$cluster查看,其中0表示噪聲點(diǎn)蒂窒,如下隨機(jī)顯示50個(gè)點(diǎn)的分類結(jié)果:

選擇最優(yōu)的Eps值

方法為計(jì)算每個(gè)點(diǎn)到其最近鄰的k個(gè)點(diǎn)的平均距離躁倒。k的取值根據(jù)MinPts由用戶指定。R語(yǔ)言中刘绣,使用dbscan包中的kNNdistplot()函數(shù)進(jìn)行計(jì)算樱溉。

由圖可知,拐點(diǎn)處基本在0.15左右纬凤,因此可以認(rèn)為最優(yōu)Eps值在0.15左右福贞。

自定義距離公式

dbscan()函數(shù)中計(jì)算距離公式為歐式距離,在一些特定的場(chǎng)合無(wú)法使用停士,比如要計(jì)算地圖上兩點(diǎn)的距離挖帘,就要應(yīng)用特定的計(jì)算地圖上兩點(diǎn)的距離公式。

R里面的很多函數(shù)都是開(kāi)源的恋技,因此拇舀,直接運(yùn)行fpc::dbscan可以看到此函數(shù)的原程序。我們用geosphere包中的distm()函數(shù)對(duì)原程序中的距離計(jì)算公式進(jìn)行修改蜻底,實(shí)現(xiàn)地圖上兩點(diǎn)距離的計(jì)算骄崩。

將原程序中的distcomb函數(shù)改為如下形式:

將修改過(guò)的dbscan函數(shù)重新命名為disdbscan,重新將數(shù)據(jù)進(jìn)行聚類:

DBSCAN優(yōu)缺點(diǎn)

優(yōu)點(diǎn)

(1)聚類速度快薄辅,且能夠有效處理噪聲點(diǎn)要拂。

(2)能發(fā)現(xiàn)任意形狀的空間聚類。

(3)聚類結(jié)果幾乎不依賴于點(diǎn)遍歷順序站楚。

(4)不需要輸入要?jiǎng)澐值木垲悅€(gè)數(shù)脱惰。

缺點(diǎn)

(1)當(dāng)數(shù)據(jù)量增大時(shí),要求較大的內(nèi)存支持I/O消耗也很大窿春;

(2)當(dāng)空間聚類的密度不均勻拉一、聚類間距差相差很大時(shí)采盒,聚類質(zhì)量較差。

聚類(三):KNN算法(R語(yǔ)言)

聚類(二):k-means算法(R&python)

微信公眾號(hào):機(jī)器學(xué)習(xí)養(yǎng)成記? ? 搜索添加微信公眾號(hào):chenchenwings

掃描二維碼蔚润,關(guān)注我們磅氨。

如需轉(zhuǎn)載,請(qǐng)?jiān)陂_(kāi)篇顯著位置注明作者和出處嫡纠,并在文末放置機(jī)器學(xué)習(xí)養(yǎng)成記二維碼和添加原文鏈接悍赢。

快來(lái)關(guān)注我們吧!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末货徙,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子皮胡,更是在濱河造成了極大的恐慌痴颊,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,386評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件屡贺,死亡現(xiàn)場(chǎng)離奇詭異蠢棱,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)甩栈,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,142評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門泻仙,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人量没,你說(shuō)我怎么就攤上這事玉转。” “怎么了殴蹄?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,704評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵究抓,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我袭灯,道長(zhǎng)刺下,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,702評(píng)論 1 294
  • 正文 為了忘掉前任稽荧,我火速辦了婚禮橘茉,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘姨丈。我一直安慰自己畅卓,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,716評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布构挤。 她就那樣靜靜地躺著髓介,像睡著了一般。 火紅的嫁衣襯著肌膚如雪筋现。 梳的紋絲不亂的頭發(fā)上唐础,一...
    開(kāi)封第一講書(shū)人閱讀 51,573評(píng)論 1 305
  • 那天箱歧,我揣著相機(jī)與錄音,去河邊找鬼一膨。 笑死呀邢,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的豹绪。 我是一名探鬼主播价淌,決...
    沈念sama閱讀 40,314評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼瞒津!你這毒婦竟也來(lái)了蝉衣?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,230評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤巷蚪,失蹤者是張志新(化名)和其女友劉穎病毡,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體屁柏,經(jīng)...
    沈念sama閱讀 45,680評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡啦膜,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,873評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了淌喻。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片僧家。...
    茶點(diǎn)故事閱讀 39,991評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖裸删,靈堂內(nèi)的尸體忽然破棺而出八拱,到底是詐尸還是另有隱情,我是刑警寧澤涯塔,帶...
    沈念sama閱讀 35,706評(píng)論 5 346
  • 正文 年R本政府宣布乘粒,位于F島的核電站,受9級(jí)特大地震影響伤塌,放射性物質(zhì)發(fā)生泄漏灯萍。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,329評(píng)論 3 330
  • 文/蒙蒙 一每聪、第九天 我趴在偏房一處隱蔽的房頂上張望旦棉。 院中可真熱鬧,春花似錦药薯、人聲如沸绑洛。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,910評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)真屯。三九已至,卻和暖如春穷娱,著一層夾襖步出監(jiān)牢的瞬間绑蔫,已是汗流浹背运沦。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,038評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留配深,地道東北人携添。 一個(gè)月前我還...
    沈念sama閱讀 48,158評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像篓叶,于是被迫代替她去往敵國(guó)和親烈掠。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,941評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容