某數據工程師使用DBSCAN演算法對一份數百萬筆的高維顧客資料進行聚類分析,但發現程式執行速度極慢,甚至出現記憶體不足的情況。若要在不改變演算法核心邏輯的前提下,最有效提升其運算效率的作法為何?

iPAS 考題解析

某數據工程師使用DBSCAN演算法對一份數百萬筆的高維顧客資料進行聚類分析,但發現程式執行速度極慢,甚至出現記憶體不足的情況。若要在不改變演算法核心邏輯的前提下,最有效提升其運算效率的作法為何?

  • A. 改用以平均連結(Average Linkage)為基礎的階層式群集法(Hierarchical Clustering)
  • B. 採用高效率的距離索引結構(Distance Index Structure),例如KD-Tree或Ball Tree ✓ 正確答案
  • C. 將ε(Epsilon)參數調得極小,以減少鄰近點的數量
  • D. 在資料前處理時增加標準化後的特徵維度數

詳細解析

DBSCAN的效率瓶頸在於每個點的鄰域查詢。使用KD-Tree或Ball Tree等空間索引結構,可將鄰域搜尋的複雜度從O(n²)降低至O(n log n),在不改變DBSCAN核心邏輯的前提下大幅提升效率。

出題年份:114 難度:★★☆