DBSCAN의 eps를 찾고 싶습니다. 나는 한 세트의 포인트를 가지고 있고 각 포인트에서 다른 포인트까지의 거리를 계산할 필요가있다. 모양의 배열이 (2267436, 2) 인 경우 near 및 minpoint를 찾습니다.포인트 간 유클리드 거리를 계산할 때 메모리 오류가 발생했습니다.
xy= [[ 177963.16728699 2506663.75713195]
[ 176147.50406716 2502422.34894945]
[ 178480.33178874 2507299.83467826]
...,
[ 231205.88139267 2684014.30324774]
[ 231207.81085397 2684014.52219471]
[ 231214.870296 2684054.8263628 ]]
내가 좋아하는이 방법을 시도하고있다 : 여기 내 데이터입니다
dist = scipy.spatial.distance.cdist(xy, xy,'euclidean')
또는
np.sqrt((np.square(npxy[:,np.newaxis]-npxy).sum(axis=2)))
또는
dist=scipy.spatial.distance.pdist(npxy)
d_matrix = scipy.spatial.distance.squareform(dist)
내가 모든 MemoryError의 무엇입니까
. 알아낼 수있는 해결책이 있습니까?
2267436 2 = 2,570631873330 (2.5 조 이상)의 점 쌍을 선택할 수 있으며 순진한 거리 행렬은 5 조 이상의 항목을 갖습니다. 아마도 알고리즘을 재고해야합니다. –
@FenilPatel 질문을 다시 읽고 "knear"이 정말로 오타인지 또는 [knn] (https://en.wikipedia.org/wiki/K-nearest_neighbors_algorithm)을 언급하고 있는지 다시 생각해보십시오. 편집 한 후에도 여전히 사람의 뜻을 이해하지 못하는 경우 먼저 편집하지 마십시오. –