Cómo calcular la distancia de Manhattan en Python (con ejemplos)

La distancia de Manhattan entre dos vectores, A y B , se calcula como:

Σ | A i – B i |

donde i es el i- ésimo elemento en cada vector.

Esta distancia se usa para medir la diferencia entre dos vectores y se usa comúnmente en muchos algoritmos de aprendizaje automático .

Este tutorial muestra dos formas de calcular la distancia de Manhattan entre dos vectores en Python.

Método 1: escribir una función personalizada

El siguiente código muestra cómo crear una función personalizada para calcular la distancia de Manhattan entre dos vectores en Python:

desde la raíz cuadrada de importación matemática

#create función para calcular la distancia de Manhattan  
def manhattan (a, b):
     return  sum ( abs (val1-val2) para val1, val2 en  zip (a, b))
 
#define los vectores
 A = [2, 4, 4, 6]
B = [5, 5, 7, 8]

#calcular la distancia de Manhattan entre vectores
 manhattan (A, B)

9

La distancia de Manhattan entre estos dos vectores resulta ser 9 .

Podemos confirmar que esto es correcto calculando rápidamente la distancia de Manhattan a mano:

Σ | A i – B i | = | 2-5 | + | 4-5 | + | 4-7 | + | 6-8 | = 3 + 1 + 3 + 2 = 9 .

Método 2: usar la función cityblock ()

Otra forma de calcular la distancia de Manhattan entre dos vectores es usar la función cityblock () del paquete SciPy:

de scipy. espacial . distancia  de importación Cityblock

#define los vectores
 A = [2, 4, 4, 6]
B = [5, 5, 7, 8]

#calcular la distancia de Manhattan entre vectores
 cityblock (A, B)

9

Una vez más, la distancia de Manhattan entre estos dos vectores resulta ser 9 .

Tenga en cuenta que también podemos usar esta función para encontrar la distancia de Manhattan entre dos columnas en un DataFrame de pandas:

de scipy. espacial . distancia  importar cityblock
 importar pandas como pd

#define DataFrame
 df = pd. DataFrame ({' A ': [2, 4, 4, 6],
                   ' B ': [5, 5, 7, 8],
                   ' C ': [9, 12, 12, 13]})

#calcular la distancia de Manhattan entre las columnas A y B de la 
manzana (df. A , df. B )

9

Recursos adicionales

Cómo calcular la distancia euclidiana en Python
Cómo calcular la distancia de Hamming en Python
Cómo calcular la distancia de Levenshtein en Python
Cómo calcular la distancia de Mahalanobis en Python

  • https://r-project.org
  • https://www.python.org/
  • https://www.stata.com/

Deja un comentario

Una "curva de campana" es el apodo que se le da a la forma de una distribución normal , que…
statologos comunidad-2

Compartimos información EXCLUSIVA y GRATUITA solo para suscriptores (cursos privados, programas, consejos y mucho más)

You have Successfully Subscribed!