如何用DBSCAN聚類模型做數據分析?
本站內容均來自興趣收集,如不慎侵害的您的相關權益,請留言告知,我們將盡快刪除.謝謝.
DBSCAN屬於無監督學習算法,無監督算法的內涵是觀察無標籤數據集自動發現隱藏結構和層次,在無標籤數據中尋找隱藏規律。
聚類模型在數據分析當中的應用: 既可以作為一個單獨過程,用於尋找數據內在規律,也可以作為分類等其他分析任務的前置探索 。
上篇我們講了基於原型的k-means聚類算法,這篇我們來講通常情況下聚類效果表現更優異的密度聚類DBSCAN。
什幺是DBSCAN
DBSCAN是一種基於密度的考慮到噪音的空間聚類算法。簡單來講,給定一組點,DBSCAN將彼此距離(歐幾里得距離)很近的點聚成一類,同時它還將低密度區域中的點標記為異常值(outlier)。要了解DBSCAN算法,我們先來熟悉一些關鍵概念:
數據點密度: 某數據點指定的半徑中點的數量即稱為密度;
核心對象/核心點: 如果指定半徑(ε)內的數據點數量超過了規定的點數量(Minpts),那幺該點即稱為核心點;
邊界點: 如果某點的半徑 (ε) 內的點數量少於規定的點數量(Minpts),不能發展下線,但是卻在核心點的鄰域內,那幺該點稱為邊界點;
密度可達: 若某點a在點b的鄰域內,則b是核心點a的直接密度可達,若點c又在點b的鄰域內,則點c是點a的間接密度可達,a和c密度相連 (傳播過程);
異常值/離羣值: 未在核心點鄰域內,從任何一個核心點出發都密度不可達,既不是核心點也不是邊界點的點稱為異常值點;
以下圖為例,將所有點基於半徑 (ε) 畫圈,指定數據點密度為3,我們發現下圖紅色點在指定半徑內的密度均>3,故紅色點為核心點;
而B、C點在核心點鄰域內,但是其半徑內的點只有2個,小於指定密度,故B、C為邊界點;
N點未在核心點鄰域內,且從任何一個核心點出發都密度不可達,故N為異常值點;以上點A與B、A與C均密度相連;
DBSCAN 算法實現原理
算法根據指定的鄰域密度參數 ( ε , Minpts ) 找出所有點中的核心點,確定核心點集合為Ω;
從Ω中,隨機選取一個核心點作為對象,找出所有由其密度可達的樣本生成聚類簇;
重複過程2,在Ω中隨機選取未被聚簇過的剩餘核心點,持續進行直到所有核心點密度可達的聚類完全被發現;
算法優缺點
優點
不需要預先指定聚類簇個數
聚類的形狀和大小非常靈活
能夠識別和處理異常值(離羣點)
參數較少,只有2個
缺點
不適用高維數據
確定合理的參數較困難,且參數對結果影響較大
Sklearn中運行效率較慢
難以尋找不同密度下的聚類
算法針對數據點形狀和大小有靈活性,且可以識別處理異常值,聚類效果表現優異,如下圖:
DBSCAN數 據分析實戰案例
案例背景:O2O平台為了更好地為線下店面服務,增加一個增值服務,即利用自己擁有的地理位置數據為線下店面選址,數據如下:
每一條數據是一個興趣點(POI – Point of Interest)的特徵,具體指的是以這個位置為中心的500米半徑圓裏,各類商家/設施的數量,數據中我們隱藏掉了每個POI的具體名稱、座標、類型。選址的商家將試圖從這些位置中選擇一個作為下一個店面的位置。
商家想知道這40個潛在店面位置之間是否有顯着的差異。我們可以將所有POI按照相似程度,劃分成幾個類別?
步驟:
數據準備:數據獲取、數據清洗、數據變換等步驟,重點是針對分析目的,進行特徵選擇以及特徵標準化;
數據建模:使用DBSCAN算法進行數據建模;
後續分析:聚類模型的特徵描述分析,基於業務問題,進一步分析;
1、讀取數據
2、特徵選取
3、標準化
4、建立DBSCAN模型並可視化
5、聚類分析,對每一聚類進行進一步分析和描述
6、根據描述分析,生成poi聚類結果畫像,利用聚類,對人羣/商品/行為標籤進行精細劃分,作為進一步商業決策的基礎;
以上DBSCAN聚類算法就講完了,關於算法的參數選擇通常是基於經驗和對數據集的業務瞭解來確定,可以使用畫k距離圖的方式來找拐點然後通過觀測聚類表現來調優。
- 全自動數據建模平台打造建模新範式,人人都能成為數據科學家 | 愛分析調研
- 如何用DBSCAN聚類模型做數據分析?
- 精準用户畫像!商城用户分羣2.0!
- Test time adaptation方法總結
- 超精準!AI 結合郵件內容與附件的意圖理解與分類!
- AI加速器與機器學習算法:協同設計與進化
- 使用SINet進行偽裝目標檢測
- ECCV 2022 Oral | 理解藝術字:用於場景文字識別的角點引導Transformer
- AI醫療高精尖!基於AI的新葯研發!
- 谷歌&北大擴散模型(Diffusion Model)首篇綜述-Diffusion Models: A Comprehensive Survey of Meth…
- 協同過濾算法——基於物品(Item)
- MLOps對比DevOps:有什幺區別?
- CVPR 2022 | UniDet:通用的多數據集目標檢測
- ECCV 2022 | k-means Mask Transformer
- IS 2022 | 字節AI Lab聯合南科大提出:利用偽標註數據提升端到端S2ST
- 自定義分詞起始規則實現關鍵詞全詞高亮項目實戰(全語種通吃)
- 電商搜索全鏈路(PART II)Query理解
- 機器學習分類問題:九個常用的評估指標總結
- 簡單的文本分類任務:不借助Trainer實現
- Macbook Pro M1芯片使用Pytorch進行深度學習小試