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

Puedes opinar sobre este contenido:
  • 0
  • 0
  • 0
  • 0

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/

Redactor del artículo

  • Luis Benites
    Director de Statologos.com

    Tengo una Maestría en Ciencias en Estadística Aplicada y he trabajado en algoritmos de aprendizaje automático para empresas profesionales tanto en el sector de la salud como en el comercio minorista.

    Ver todas las entradas

¿Te hemos ayudado?

Ayudanos ahora tú, dejanos un comentario de agradecimiento, nos ayuda a motivarnos y si te es viable puedes hacer una donación:

La ayuda no cuesta nada

Por otro lado te rogamos que compartas nuestro sitio con tus amigos, compañeros de clase y colegas, la educación de calidad y gratuita debe ser difundida, recuerdalo:

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!