numpy 배열의 행에서 모든 포인트에 대해 가장 가까운 k 포인트 찾기

마이크 더 잭슨

각 요소가 실수 인 1000 x 1000 크기의 np 배열 X가 있습니다. 이 np 배열의 각 행에있는 모든 점에 대해 가장 가까운 5 개의 점을 찾고 싶습니다. 여기서 거리 메트릭은 abs (xy) 일 수 있습니다. 나는하려고 노력했다

for i in range(X.shape[0]):
    knn = NearestNeighbors(n_neighbors=5)
    knn.fit(X[i])
    for j in range(X.shape[1])
        d = knn.kneighbors(X[i,j], return_distance=False)

그러나 이것은 나를 위해 작동하지 않으며 이것이 얼마나 효율적인지 확신하지 못합니다. 이 문제를 해결할 방법이 있습니까? 벡터를 비교하는 방법은 많이 보았지만 단일 요소를 비교하는 방법은 없습니다. for 루프와 루프를 사용하여 가장 작은 k를 찾을 수 있다는 것을 알고 있지만 이것은 계산 비용이 많이 듭니다. KD 트리가이를 위해 작동 할 수 있습니까? 나는 비슷한 방법을 시도했다

x 및 y 좌표의 numpy 배열에서 가장 가까운 지점의 색인 찾기

그러나 나는 이것을 작동시킬 수 없습니다. 이것을 달성 할 수있는 내가 모르는 몇 가지 기능이 있습니까?

Crispin

scipy.spatial.cKDTree데이터의 각 행에 대해 kdtree를 생성합니다.

import numpy as np
import scipy.spatial


def nearest_neighbors(arr, k):
    k_lst = list(range(k + 2))[2:]  # [2,3]
    neighbors = []

    for row in arr:
        # stack the data so each element is in its own row
        data = np.vstack(row)
        # construct a kd-tree
        tree = scipy.spatial.cKDTree(data)
        # find k nearest neighbors for each element of data, squeezing out the zero result (the first nearest neighbor is always itself)
        dd, ii = tree.query(data, k=k_lst)
        # apply an index filter on data to get the nearest neighbor elements
        closest = data[ii].reshape(-1, k)
        neighbors.append(closest)
    return np.stack(neighbors)


N = 1000
k = 5
A = np.random.random((N, N))
nearest_neighbors(A, k)

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

값에 가장 가까운 numpy 배열의 모든 인덱스 찾기

포인트 배열에서 가장 가까운 포인트 찾기

한 배열에서 다른 배열의 모든 값과 가장 가까운 인덱스 찾기-Python / NumPy

배열의 모든 요소에 대해 가장 가까운 더 큰 값 찾기

2d 포인트의 두 목록이 주어지면 첫 번째 목록의 모든 포인트에 대해 두 번째 목록에서 가장 가까운 포인트를 찾는 방법은 무엇입니까?

데이터 세트의 모든 점에 대해 거리에서 가장 가까운 점 찾기-Python

Xarray의 포인트에서 포인트로 대각선의 모든 그리드 값 가져 오기

다른 행렬에서 행렬의 모든 행에 대해 가장 가까운 값 찾기

Python의 포인트 목록에서 주어진 포인트에 가장 가까운 이웃 찾기

여러 개의 numpy 배열에서 가장 가까운 세트 찾기

최소 k 개의 포인트가있는 Numpy 찾기 구간

포인트 테이블에서 MySQL로 가장 가까운 포인트 찾기

numpy 2D에서 내리막의 모든 포인트 인덱스 찾기

numpy 2D에서 내리막의 모든 포인트 인덱스 찾기

두 개의 numpy 배열에서 가장 가까운 값 찾기

포인트에 가장 가까운 픽셀에 대한 pytorch (numpy) 계산

포인트 STL 형식에 가장 가까운 요소 찾기

numpy 배열의 각 데이터 포인트에 대한 백분위수 찾기

Numpy : 한 배열의 모든 요소에 대해 다른 배열에서 색인 찾기

x 및 y 좌표의 numpy 배열에서 가장 가까운 지점의 인덱스 찾기

R의 lat long을 사용하여 데이터 세트 B에서 데이터 세트 A의 포인트까지 가장 가까운 포인트 찾기

Numpy 배열에서 가장 큰 숫자의 색인 찾기

첫 번째 데이터 세트의 모든 점에 대해 두 번째 데이터 세트에서 가장 가까운 점 찾기

첫 번째 데이터 세트의 모든 점에 대해 두 번째 데이터 세트에서 가장 가까운 점 찾기

Numpy : 두 세트 사이의 2D 배열에서 k 번째로 크거나 가장 작은 것 찾기

df1의 모든 항목에 대해 df2에서 가장 가까운 항목 찾기

배열의 모든 항목에 대해 노드 엔드 포인트를 실행 하시겠습니까?

numpy 배열에서 가장 가까운 값 찾기

가장 가까운 인덱스 numpy 배열에 대한 연산

TOP 리스트

  1. 1

    JNDI를 사용하여 Spring Boot에서 다중 데이터 소스 구성

  2. 2

    std :: regex의 일관성없는 동작

  3. 3

    JSoup javax.net.ssl.SSLHandshakeException : <url>과 일치하는 주체 대체 DNS 이름이 없습니다.

  4. 4

    PrematureCloseException : 연결이 너무 일찍 닫혔습니다.

  5. 5

    Xcode10 유효성 검사 : 이미지에 투명성이 없지만 여전히 수락되지 않습니까?

  6. 6

    정점 셰이더에서 카메라에서 개체까지의 XY 거리

  7. 7

    Ionic 2 로더가 적시에 표시되지 않음

  8. 8

    Seaborn에서 축 제목 숨기기

  9. 9

    C #에서 'System.DBNull'형식의 개체를 'System.String'형식으로 캐스팅 할 수 없습니다.

  10. 10

    복사 / 붙여 넣기 비활성화

  11. 11

    ArrayBufferLike의 typescript 정의의 깊은 의미

  12. 12

    Google Play Console에서 '예기치 않은 오류가 발생했습니다. 나중에 다시 시도해주세요. (7100000)'오류를 수정하는 방법은 무엇입니까?

  13. 13

    Kubernetes Horizontal Pod Autoscaler (HPA) 테스트

  14. 14

    jfreecharts에서 x 및 y 축 선을 조정하는 방법

  15. 15

    PRNG 기간보다 순열이 더 많은 목록을 무작위로 섞는 방법은 무엇입니까?

  16. 16

    C # HttpWebRequest 기본 연결이 닫혔습니다. 전송시 예기치 않은 오류가 발생했습니다.

  17. 17

    다음 컨트롤이 추가되었지만 사용할 수 없습니다.

  18. 18

    잘못된 구성 개체입니다. Webpack이 Angular의 API 스키마와 일치하지 않는 구성 개체를 사용하여 초기화되었습니다.

  19. 19

    Android Kotlin은 다른 활동에서 함수를 호출합니다.

  20. 20

    R의 마침표와 숫자 사이에 문자열 삽입

  21. 21

    Assets의 BitmapFactory.decodeStream이 Android 7에서 null을 반환합니다.

뜨겁다태그

보관