0
我想使用sklearn中的DBSCAN實現。它們允許您使用自定義距離度量標準,但只能使用一個eps
值。 我想要的是以下內容:sklearn中的多個eps值DBSCAN
可以說我的點每個都有3個特徵,所以每個點都可以被認爲是p=np.array([p1,p2,p3])
形式的一個numpy數組。如果np.abs(p1-q1) < eps1
和np.abs(p2-q2) < eps2
和np.abs(p3-q3) < eps3
兩點p
和q
是鄰居。通常,可以使用d(p,q)<eps
,其中d(,)
是度量標準,eps是閾值。
有沒有一種方法可以輕鬆地將我的需求轉化爲sklearn?
這個距離矩陣在我的情況下是稀疏的。有沒有一種方法可以利用它來減少內存使用量?但是你的擴展想法很漂亮!謝謝! – Merlin1896
由於0.17 sklearn可以使用稀疏距離矩陣。但要小心,你需要存儲0,然後,而不是1。缺失的值被認爲是無限的。如果上述縮放方法比稀疏矩陣快,我不會感到驚訝。 –
在[ELKI](https://elki-project.github.io/)中,您可以定義一個距離函數 - 並獲得索引加速 - 而無需事先加權hack(本質上,請遵循[本教程](https:// elki-project.github.io/tutorial/spatial_distance_functions)加權距離)。但即使如此,先前的權重可能比在每個距離計算上應用權重稍快。 –