我有一大組診斷代碼序列,我試圖根據相似性進行聚類。我通過使用最小公共子序列算法計算相似性,然後從1中減去該相似性來找出每個序列之間的距離,從而創建了一個距離矩陣。使用sklearn DBSCAN時,獲得不太相似的羣集是否正常?
我然後通過了距離矩陣成sklearn的DBSCAN爲這樣:
db = DBSCAN(eps=0.34, metric='precomputed')
db.fit(sim_mat)
創建簇後,I輸出中包含的每一個到一個文本文件的序列。除了一個以外,每個集羣都對我有意義。例如,該集羣對我來說很有意義,因爲每個序列有兩個共同點,在相同的順序代碼:
['345.3', '345.11']['345.3', '345.11', '038.9', '038.0', '276.51']['345.3', '345.11']['322.9', '345.3', '345.11']
這個集羣,但是,(在這裏縮短,因爲它包含了2852個序列)不作感覺對我來說,因爲沒有序列的具有任何公共代碼:
['162.3', '038.9']['578.1', '584.9']['416.8', '486', '486', '038.11']['493.92', '428.0', '584.9', '427.89']['414.01', '998.59']
我的問題還是,如果這是在DBSCAN中的錯誤,如果我誤解了如何使用它和/或它應該如何工作。此外,如果這是一個錯誤或算法的預期輸出,是否有另一個我應該考慮使用?
噪音與異常值不同嗎?因爲該算法也推出了離羣值,使用-1 ... – Alex
的標籤應該是罕見的。根據您的參數,DBSCAN定義中的所有點都可能是噪音。 –