Python'da manhattan uzaklığı nasıl hesaplanır (örneklerle)


A ve B gibi iki vektör arasındaki Manhattan mesafesi şu şekilde hesaplanır:

Σ|A i – B i |

burada i her vektörün i’inci elemanıdır.

Bu mesafe, iki vektör arasındaki farklılığı ölçmek için kullanılır ve birçok makine öğrenimi algoritmasında yaygın olarak kullanılır.

Bu eğitimde Python’da iki vektör arasındaki Manhattan mesafesini hesaplamanın iki yolu gösterilmektedir.

Yöntem 1: Özel İşlev Yazma

Aşağıdaki kod, Python’da iki vektör arasındaki Manhattan mesafesini hesaplamak için özel bir işlevin nasıl oluşturulacağını gösterir:

 from math import sqrt

#create function to calculate Manhattan distance 
def manhattan(a, b):
    return sum ( abs (val1-val2) for val1, val2 in zip (a,b))
 
#definevectors
A = [2, 4, 4, 6]
B = [5, 5, 7, 8]

#calculate Manhattan distance between vectors
manhattan(A,B)

9

Bu iki vektör arasındaki Manhattan mesafesinin 9 olduğu ortaya çıkıyor.

Manhattan’a olan mesafeyi elle hızlı bir şekilde hesaplayarak bunun doğru olduğunu doğrulayabiliriz:

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

Yöntem 2: cityblock() işlevini kullanın

İki vektör arasındaki Manhattan mesafesini hesaplamanın başka bir yolu da SciPy paketindeki cityblock() fonksiyonunu kullanmaktır:

 from scipy. spatial . distance import cityblock

#definevectors
A = [2, 4, 4, 6]
B = [5, 5, 7, 8]

#calculate Manhattan distance between vectors
cityblock(A, B)

9

Bir kez daha bu iki vektör arasındaki Manhattan mesafesinin 9 olduğu ortaya çıkıyor.

Bu işlevi bir pandas DataFrame’deki iki sütun arasındaki Manhattan mesafesini bulmak için de kullanabileceğimizi unutmayın:

 from scipy. spatial . distance import cityblock
import pandas as pd

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

#calculate Manhattan distance between columns A and B
cityblock(df. A , df. B )

9

Ek kaynaklar

Python’da Öklid mesafesi nasıl hesaplanır
Python’da Hamming Mesafesi Nasıl Hesaplanır?
Python’da Levenshtein mesafesi nasıl hesaplanır
Python’da Mahalanobis Mesafesi Nasıl Hesaplanır?

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir