[Python] Encontrar arrays com a menor distância

Discussão em 'Python' iniciado por Stack, Dezembro 6, 2024.

  1. Stack

    Stack Membro Participativo

    Tenho um array_objetivo e gostaria de encontrar o id e a distância (euclidiana neste exemplo) dos n arrays mais próximos a ele que estão em array_all. Segue exemplos dos arrays.

    array_objetivo = np.array([2,2,3,4])

    array_all = np.array([[1,1,2,2],
    [2,2,3,3],
    [3,3,4,4],
    [4,4,5,5]])


    Para encontrar apenas o mais próximo, fiz:

    def calcula_distancia(array1, array2):
    # Distância Euclidiana
    return np.linalg.norm(array1-array2)

    def pega_vetor_mais_proximo(array_objetivo, array_all):

    menor_dist = calcula_distancia(array_objetivo, array_all[0])
    id_menor_dist = 0

    for i in range(1, array_all.shape[0]):
    dist = calcula_distancia(array_objetivo, array_all)
    if dist < menor_dist:
    menor_dist = dist
    id_menor_dist = i

    return menor_dist, id_menor_dist


    Como posso modificar para encontrar os n array mais próximos de maneira eficiente?

    Continue reading...

Compartilhe esta Página