큰 입력 매트릭스 (4000x10000)가 있습니다. 나는 그것에 대해 유클리드 거리 행렬을 계산하기 위해 dist()
을 사용합니다 (약 5 시간 걸립니다).
추가 행이있는 "동일한"행렬의 거리 행렬을 계산해야합니다 (4001x10000 행렬의 경우). 행렬 전체를 다시 계산하지 않고 거리 행렬을 결정하는 가장 빠른 방법은 무엇입니까?거리 매트릭스 재 계산
답변
추가 행이 추가 포인트라고 가정합니다. 추가 변수/차원을 의미하는 경우 다른 대답을 요구합니다.
우선 매트릭스의 유클리드 거리에 대해서는 패키지의 rdist
함수를 사용하는 것이 좋습니다. Fortran으로 작성되었으며 dist
기능보다 훨씬 빠릅니다. dist
개체 대신 matrix
을 반환하지만 as.matrix
및 as.dist
을 사용하면 항상 한 개체에서 다른 개체로 이동할 수 있습니다. 여기
샘플 데이터
num.points <- 400
num.vars <- 1000
original.points <- matrix(runif(num.points * num.vars),
nrow = num.points, ncol = num.vars)
과의 거리가 이미 계산 된 매트릭스 (당신보다 작은)입니다 : 여분의 포인트 (들)에 대한
d0 <- rdist(original.points)
, 당신은 단지 거리를 계산하기 위해 필요 여분의 점들과 여분의 점들과 원래의 점들 사이의 거리들 사이.
d1 <- rbind(cbind(d0, t(outer.dist)),
cbind(outer.dist, inner.dist))
이의 그것과 일치하는지 확인하자
extra.points <- matrix(runif(2 * num.vars), nrow = 2)
inner.dist <- rdist(extra.points)
outer.dist <- rdist(extra.points, original.points)
그래서 당신은 당신의 더 큰 거리 행렬에 바인딩 할 수 있습니다 : 나는이 솔루션은 추가 포인트의 수에 일반적입니다 것을 보여주기 위해 두 개의 추가 포인트를 사용합니다
d2 <- rdist(rbind(original.points, extra.points))
identical(d1, d2)
# [1] TRUE
다음을 사용하려고했습니다 : mydist <-dist (original.points) mydist <- as.matrix (mydist) euc.dist <-function (x) { sqrt (sum ((여분의 점 -x)^2)) } extra.dist <-apply (original.points, 1, euc.dist) rbind (mydist, extra.dist) 내 문제는 클래스 "dist" – sztup
거리 매트릭스는 정사각형 매트릭스입니다. 끝에 행을 하나만 추가하는 경우 마지막에 열을 추가해야하며 오른쪽 하단의 값은 0이어야합니다 (추가 점과 자체 사이의 거리). 하지만 제 솔루션을 읽어주세요. – flodel
- 1. python hcluster, 거리 매트릭스 및 압축 거리 매트릭스
- 2. 거리 매트릭스 in R
- 3. 계산 거리
- 4. 계산 거리
- 5. R 컴퓨터 언어의 거리 매트릭스?
- 6. 소실점에서 회전 매트릭스 계산
- 7. shortpath. 거리 계산. 자바.
- 8. MongoDB를 사용한 거리 계산
- 9. 이동 거리 계산 방법
- 10. 자바에서 dotproduct 거리 계산
- 11. 거리 계산 및 출력
- 12. 계산 거리/CoreLocation
- 13. 위치 포인터와 거리 계산
- 14. MDX 지리적 거리 계산
- 15. iOS에서 측정/계산 거리
- 16. Levenshtein Distance 거리 계산
- 17. mapoduce에서의 거리 계산
- 18. GPS 거리 계산
- 19. Google지도 API 거리 계산
- 20. UIAccelerometer 거리 계산
- 21. Geokit/Geocoder의 거리 및 거리 계산
- 22. Google지도 거리 매트릭스 및 융합 테이블
- 23. 위치 매트릭스 및 각 위치로부터의 거리
- 24. Google 거리 매트릭스 API 출력 없음
- 25. 서버 측 Google 거리 매트릭스 사용
- 26. 희박한 페어 와이즈 거리 매트릭스 계산하기
- 27. JSON "잘못된 라벨"- 구글 거리 매트릭스 요청
- 28. F #에서 매트릭스 계산 개선
- 29. JQuery 애니메이션 픽셀 거리 계산
- 30. 특정 좌표로의 주행 거리 계산
어떻게 할 수 있는지 알고 계시지 않습니까? 아니면 어떻게 해야할지 모르십니까? – carlosdc
여분의 행이 추가 점입니까, 추가 변수/치수입니까? – flodel