R 程式設計中的 DBSCAN 聚類是什麼?


介紹

聚類分析是機器學習和資料探勘中的一項基本技術,它可以識別模式並將相似的資料點分組在一起。在各種聚類演算法中,基於密度的噪聲應用空間聚類 (DBSCAN) 作為一種強大的工具脫穎而出,它可以自動發現任意形狀的聚類。在本文中,我們將探討 DBSCAN 背後的概念,並透過清晰簡潔的程式碼示例演示其在 R 程式設計中的實現。

DBSCAN 聚類

在處理包含不同密度或不規則形狀聚類的資料集時,DBSCAN 尤其有價值。與 K 均值或層次聚類等其他傳統聚類技術不同,DBSCAN 是根據密度可達點而不是預定義的距離閾值來確定聚類的。

DBSCAN 的關鍵引數

  • Epsilon (ε):兩個相鄰點之間被認為屬於同一聚類的最大距離。

  • MinPts:在 ε 距離內所需的最小相鄰點數,才能將一個點分類為核心點。

  • 邊界點:位於 ε 半徑內但沒有足夠的鄰居被視為核心點的點。

  • 噪聲點:遠離任何聚類的離群值。

DBSCAN 聚類的優勢

  • 能夠處理噪聲:與 K 均值或層次聚類等其他一些聚類演算法不同,DBSCAN 可以有效地處理噪聲資料,將其視為離群值或噪聲,而不是強制將其放入特定的聚類中。

  • 聚類形狀檢測的靈活性:傳統方法通常假設球形或凸形聚類。但是,DBSCAN 擅長識別具有複雜形狀和不同密度的聚類,而無需事先假設。

  • 自動確定聚類數量:與 K 均值等需要預先指定所需聚類數量的方法不同,DBSCAN 不需要事先了解結果聚類的數量 - 它會自動發現最佳數量。

  • 對引數選擇的魯棒性:雖然涉及引數(epsilon 和 minPts),但它們具有直觀的解釋,與許多其他聚類演算法相比,更容易調整。

  • 可擴充套件性強,適用於大型資料集:透過巧妙地利用 k-d 樹或 R 樹等索引結構以及高效的基於密度的計算,DBSCAN 可以很好地擴充套件到高維資料或大型資料集。

使用 DBSCAN 的缺點

  • 引數敏感性:為 epsilon (ε) 和 minPts 選擇適當的值至關重要但也具有挑戰性,因為這些引數在很大程度上取決於資料集特徵,例如底層密度分佈。選擇不合適的值可能會導致聚類合併或建立太多小的、不重要的聚類。

  • 對於密度變化的資料集效率低下:傳統的 DBSCAN 難以處理密度在不同區域差異很大的資料集。雖然有改進的 DBSCAN 等修改版本試圖解決此問題,但它們可能會以增加計算複雜性為代價。

  • 難以處理高維資料:與許多聚類演算法一樣,DBSCAN 在應用於高維資料集時也面臨挑戰,這是由於“維度災難”。在這種情況下,在應用 DBSCAN 之前可能需要特徵選擇或降維技術。

R 程式設計實現層次聚類

DBscan 聚類是透過藉助歐幾里得距離計算距離來實現的。以下程式碼將在鳶尾花資料集上執行 DBSCAN 聚類,然後使用散點圖繪製結果聚類,並以紫色突出顯示聚類。

演算法

步驟 1:首先,我們需要安裝並載入樣本資料集。

步驟 2:在聚類之前,需要進行資料預處理。如果存在,我們可能需要標準化變數或處理缺失值。

步驟 3:根據所選指標(例如歐幾里得距離或曼哈頓距離)計算觀測值之間的差異或距離。

步驟 4:建立 DBSCAN 聚類,我們已經準備好距離矩陣,我們可以使用 R 中的 `hclust()` 函式執行 DBscan 聚類。

步驟 5:生成的“hc”物件儲存後續步驟所需的所有資訊。

步驟 6:繪製散點圖,我們可以透過在 R 中繪製散點圖來視覺化我們的聚類。

示例

#install.packages("fpc")
# Load the fpc package
library(fpc)

# Load the iris dataset
data(iris)

# Standardize the iris dataset
iris_std <- scale(iris[-5])

# Calculate the distance matrix using Euclidean distance
distance_mat <- dist(iris_std, method = "euclidean")

# Create DBSCAN clusters
db_cl <- dbscan(distance_mat, eps = 0.5, MinPts = 5)

# Perform hierarchical clustering using Ward's method
hc <- hclust(distance_mat, method = "ward.D2")

# Plot the resulting dendrogram
plot(db_cl, iris_std, main="ed")

輸出

結論

DBSCAN 提供了一種極好的替代方案,可以揭示覆雜資料集中隱藏的模式,而無需依賴預定義的距離或假設聚類的特定形狀。憑藉其能夠自動識別噪聲和離群值,同時能夠靈活地處理單個分析中的不同密度水平的能力,DBSCAN 在各個領域都證明了其價值。

更新於: 2023-07-28

289 次瀏覽

開啟您的 職業生涯

透過完成課程獲得認證

開始
廣告