我想要使用DBSCAN(scikit學習實現)和位置數據進行聚類。我的數據採用np數組格式,但要使用具有Haversine公式的DBSCAN,我需要創建一個距離矩陣。當我嘗試執行此操作時,出現以下錯誤(「模塊」不可調用錯誤。)從我在線閱讀的內容中可以看出,這是一個導入錯誤,但我非常確定這不是我的情況。我已經創建了我自己的半直線距離公式,但我確定這個錯誤不是這個。使用nparray與pdist和方形的距離矩陣創建
這是我的輸入數據,一個np數組(ResultArray)。
[[ 53.3252628 -6.2644198 ]
[ 53.3287395 -6.2646543 ]
[ 53.33321202 -6.24785807]
[ 53.3261015 -6.2598324 ]
[ 53.325291 -6.2644105 ]
[ 53.3281323 -6.2661467 ]
[ 53.3253074 -6.2644483 ]
[ 53.3388147 -6.2338417 ]
[ 53.3381102 -6.2343826 ]
[ 53.3253074 -6.2644483 ]
[ 53.3228188 -6.2625379 ]
[ 53.3253074 -6.2644483 ]]
這是代碼是示數行。
distance_matrix = sp.spatial.distance.squareform(sp.spatial.distance.pdist
(ResultArray,(lambda u,v: haversine(u,v))))
這是錯誤消息:
File "Location.py", line 48, in <module>
distance_matrix = sp.spatial.distance.squareform(sp.spatial.distance.pdist
(ResArray,(lambda u,v: haversine(u,v))))
File "/usr/lib/python2.7/dist-packages/scipy/spatial/distance.py", line 1118, in pdist
dm[k] = dfun(X[i], X[j])
File "Location.py", line 48, in <lambda>
distance_matrix = sp.spatial.distance.squareform(sp.spatial.distance.pdist
(ResArray,(lambda u,v: haversine(u,v))))
TypeError: 'module' object is not callable
我進口SciPy的作爲起點。 (導入scipy as sp)
請注意,ELKI在DBSCAN中具有索引加速度,使用R * - 樹。這不需要O(n^2)時間和內存。它也有光學,就像DBSCAN 2.0 –