DBSCAN (scikit learn implementation) 및 위치 데이터를 사용하여 클러스터를 만들려고합니다. 내 데이터는 np 배열 형식이지만 Haversine 공식을 사용하여 DBSCAN을 사용하려면 거리 매트릭스를 만들어야합니다. 나는 (모듈 '호출 할 수없는 오류')이 일을하려고하면 다음과 같은 오류가 나타납니다. 이것은 온라인으로 읽은 것에서 가져 오기 오류입니다.하지만 저에게는 그다지 확실하지 않습니다. 내 haversine 거리 수식을 만들었지 만, 나는이 오류가 아니라고 확신합니다.nparray와 pdist 및 squareform을 사용한 거리 행렬 생성
이것은 입력 데이터 인 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 ]]
그리고 이것은 erroring 코드 줄입니다.
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
내가 SP로 scipy 가져옵니다
distance_matrix = sp.spatial.distance.squareform(sp.spatial.distance.pdist
(ResultArray,(lambda u,v: haversine(u,v))))
이는 오류 메시지입니다. (sp를 sp로 가져 오기)
ELKI는 R * -trees를 사용하여 DBSCAN에서 haversine distance에 대한 인덱스 가속도를가집니다. 이것은 O (n^2) 시간과 메모리를 필요로하지 않습니다. 또한 DBTIAN 2.0과 같은 OPTICS도 있습니다. –