你看地圖上的店家聚集區,怎麼把密集的人群和落單點分開? 你可以把 密度分群 想成一種看群聚密度的分組方法。 它其實就是先找人多又連得上的地方,再把邊緣和離群點分開。 密度分群是一種基於資料分布密度的分群方法,它能找出任意形狀的群集,並自動識別出噪訊。當群集形狀不規則,或你不想先指定群數時,這類方法很實用。
容易混淆
vs K-Means K-Means 像把人群分成固定數量的圓形組,很難處理不規則形狀的群體;密度分群則能像偵探一樣,找出各種形狀的「人群聚集地」,還能區分出落單的人。
非監督式學習 vs K 均值分群 非監督式學習 比較像同一類問題裡的近鄰參考,K 均值分群 則更像把資料或結構往更深一層整理,兩者的用法不一樣。
最關鍵的區別: 先看它是在做「理解、生成、分組、保護」哪一件事,再看細節。
記住這句就好
看密度,不看固定群數
實際案例
案例一:密度分群 分析商圈資料 店家如果沿著捷運站周圍自然聚成幾團,密度分群就能找出這些區塊,還能把孤立點視為噪訊。
案例二:密度分群 找異常點 在感測資料裡,如果某些點周圍很稀疏,它們可能不是群的一員,而是離群值。
深入了解
密度分群會看某個區域周圍有多少點,而不是看你先指定幾群 它特別適合不規則形狀、含噪聲、或你根本不知道群數的情況 如果資料密度差很多,參數設定就要更小心
密度分群 真正重要的,不是名詞本身,而是它幫你解決的是哪一類問題。
情境判斷
Q1(直覺題): 你不知道資料要分幾群,但想找出自然聚在一起的點,適合用什麼思路? → 看密度的分群方法通常很合適,因為它不必先指定群數。
Q2(判斷題): 如果資料密度差很多,密度分群是不是一定很容易做? → 不一定,因為參數對密度和尺度很敏感,密度分布不均時常要更仔細調參或改用更適合的方法。
常見問題
密度分群的 ε 參數應該如何選擇?
ε 參數的選擇取決於資料的密度和尺度。一個常用的方法是使用 k-距離圖。對於每一個資料點,計算其到第 k 個最近鄰居的距離,然後將這些距離排序並繪製成圖。ε 的值通常選擇在圖中出現明顯拐點的位置。
密度分群的 MinPts 參數應該如何選擇?
MinPts 參數的選擇也取決於資料的密度和維度。一個常用的經驗法則是將 MinPts 設定為資料維度 + 1。例如,如果資料是二維的,則 MinPts 可以設定為 3。較大的 MinPts 值可以減少噪訊的影響,但也可能導致一些密度較低的群集被忽略。
密度分群可以處理非數值型資料嗎?
原始的 DBSCAN 演算法主要用於處理數值型資料。如果資料包含非數值型特徵,需要先將其轉換為數值型表示,例如使用 one-hot encoding 或 embedding 等方法。此外,也有一些針對非數值型資料的密度分群演算法,例如 OPTICS 和 HDBSCAN。