91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

r語言中DBSCAN算法的實現是怎樣的

發布時間:2021-11-22 09:24:19 來源:億速云 閱讀:169 作者:柒染 欄目:大數據

r語言中DBSCAN算法的實現是怎樣的,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

DBSCAN(Density-BasedSpatial Clustering of Applications with Noise),一種基于密度的聚類方法,即找到被低密度區域分離的稠密區域,要求聚類空間中的一定區域內所包含對象(點或其他空間對象)的數目不小于某一給定閾值。


一、兩個參數。

1,距離參數(Eps)

2,鄰域內點最少個數(MinPts)

二、根據基于中心的密度進行點分類。

密度的基于中心的方法使得點分為三類:

1,  核心點。稠密區域內部的點。該點以Eps為半徑的區域內點的個數不少于MinPts(包括自身)。

2,  邊界點。稠密區邊緣上的點,不是核心點,但在某個或多個核心點鄰域內。

3,  噪聲點。稀疏區域中的點,既非核心點也非邊界點。

4,  密度可達。如果點p在核心點q的Eps鄰域內,則稱p是從q出發可以直接密度可達。如果存在點鏈p1,p2, …, pn,p1=q,pn=p,pi+1是從pi直接密度可達,則稱點p是從q關于r和M密度可達的,密度可達是單向的。

  • 算法流程

從某點出發,將密度可達的點聚為一類,不斷進行區域擴張,直至所有點都被訪問。

r語言中DBSCAN算法的實現是怎樣的

  • R語言實現

在R中實現DBSCAN聚類,可以使用fpc包中的dbscan()函數。在下面的例子中,我們使用factoextra包中的數據集multishapes進行演示。

r語言中DBSCAN算法的實現是怎樣的

r語言中DBSCAN算法的實現是怎樣的

如下可查看聚類后的結果:

r語言中DBSCAN算法的實現是怎樣的

具體每個樣本點的分類結果,可用db$cluster查看,其中0表示噪聲點,如下隨機顯示50個點的分類結果:

r語言中DBSCAN算法的實現是怎樣的

  • 選擇最優的Eps值



方法為計算每個點到其最近鄰的k個點的平均距離。k的取值根據MinPts由用戶指定。R語言中,使用dbscan包中的kNNdistplot()函數進行計算。

r語言中DBSCAN算法的實現是怎樣的

由圖可知,拐點處基本在0.15左右,因此可以認為最優Eps值在0.15左右。

r語言中DBSCAN算法的實現是怎樣的

  • 自定義距離公式

dbscan()函數中計算距離公式為歐式距離,在一些特定的場合無法使用,比如要計算地圖上兩點的距離,就要應用特定的計算地圖上兩點的距離公式。

R里面的很多函數都是開源的,因此,直接運行fpc::dbscan可以看到此函數的原程序。我們用geosphere包中的distm()函數對原程序中的距離計算公式進行修改,實現地圖上兩點距離的計算。

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

r語言中DBSCAN算法的實現是怎樣的

將修改過的dbscan函數重新命名為disdbscan,重新將數據進行聚類:

r語言中DBSCAN算法的實現是怎樣的

r語言中DBSCAN算法的實現是怎樣的

  • DBSCAN優缺點

優點

(1)聚類速度快,且能夠有效處理噪聲點。

(2)能發現任意形狀的空間聚類。

(3)聚類結果幾乎不依賴于點遍歷順序。

(4)不需要輸入要劃分的聚類個數。

缺點

(1)當數據量增大時,要求較大的內存支持I/O消耗也很大;

(2)當空間聚類的密度不均勻、聚類間距差相差很大時,聚類質量較差。

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

巫山县| 平阳县| 竹山县| 健康| 武鸣县| 嘉黎县| 定州市| 焦作市| 宜良县| 资阳市| 巢湖市| 太谷县| 贵州省| 南昌市| 祁连县| 获嘉县| 泰兴市| 兴宁市| 尚义县| 卢湾区| 巴南区| 桓仁| 苏州市| 瑞昌市| 镇平县| 丽江市| 千阳县| 星座| 呼图壁县| 密山市| 榆社县| 太谷县| 同德县| 荔波县| 光泽县| 牙克石市| 旌德县| 司法| 醴陵市| 平湖市| 个旧市|