Cara menghitung jarak manhattan dengan python (dengan contoh)
Jarak Manhattan antara dua vektor, A dan B , dihitung sebagai berikut:
Σ|A saya – B saya |
dimana i adalah elemen ke- i dari setiap vektor.
Jarak ini digunakan untuk mengukur ketidaksamaan antara dua vektor dan biasanya digunakan di banyak algoritma pembelajaran mesin .
Tutorial ini menunjukkan dua cara menghitung jarak Manhattan antara dua vektor dengan Python.
Metode 1: Tulis Fungsi Kustom
Kode berikut menunjukkan cara membuat fungsi khusus untuk menghitung jarak Manhattan antara dua vektor dengan Python:
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
Jarak Manhattan antara kedua vektor ini adalah 9 .
Kami dapat mengonfirmasi kebenarannya dengan menghitung jarak ke Manhattan secara cepat dengan tangan:
Σ|A saya – B saya | = |2-5| + |4-5| + |4-7| + |6-8| = 3 + 1 + 3 + 2 = 9 .
Metode 2: gunakan fungsi cityblock()
Cara lain untuk menghitung jarak Manhattan antara dua vektor adalah dengan menggunakan fungsi cityblock() dari paket SciPy:
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
Sekali lagi, jarak Manhattan antara kedua vektor ini adalah 9 .
Perhatikan bahwa kita juga dapat menggunakan fungsi ini untuk menemukan jarak Manhattan antara dua kolom di pandas DataFrame:
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
Sumber daya tambahan
Cara menghitung jarak Euclidean dengan Python
Cara Menghitung Jarak Hamming dengan Python
Cara menghitung jarak Levenshtein dengan Python
Cara Menghitung Jarak Mahalanobis dengan Python