Cara menghitung jarak euclidean dengan python (dengan contoh)
Jarak Euclidean antara dua vektor A dan B dihitung sebagai berikut:
Jarak Euclidean = √ Σ(A i -B i ) 2
Untuk menghitung jarak Euclidean antara dua vektor dengan Python, kita dapat menggunakan fungsi numpy.linalg.norm :
#import functions import numpy as np from numpy. linalg import norm #define two vectors a = np.array([2, 6, 7, 7, 5, 13, 14, 17, 11, 8]) b = np.array([3, 5, 5, 3, 7, 12, 13, 19, 22, 7]) #calculate Euclidean distance between the two vectors norm(ab) 12.409673645990857
Jarak Euclidean antara kedua vektor tersebut ternyata adalah 12.40967 .
Perhatikan bahwa fungsi ini akan menghasilkan pesan peringatan jika kedua vektor tidak memiliki panjang yang sama:
#import functions import numpy as np from numpy. linalg import norm #define two vectors a = np.array([2, 6, 7, 7, 5, 13, 14]) b = np.array([3, 5, 5, 3, 7, 12, 13, 19, 22, 7]) #calculate Euclidean distance between the two vectors norm(ab) ValueError : operands could not be broadcast together with shapes (7,) (10,)
Perhatikan bahwa kita juga dapat menggunakan fungsi ini untuk menghitung jarak Euclidean antara dua kolom DataFrame pandas:
#import functions import pandas as pd import numpy as np from numpy. linalg import norm #define DataFrame with three columns df = pd.DataFrame({'points': [25, 12, 15, 14, 19, 23, 25, 29], 'assists': [5, 7, 7, 9, 12, 9, 9, 4], 'rebounds': [11, 8, 10, 6, 6, 5, 9, 12]}) #calculate Euclidean distance between 'points' and 'assists' norm(df[' points '] - df[' assists ']) 40.496913462633174
Jarak Euclidean antara kedua kolom tersebut ternyata adalah 40.49691 .
Komentar
1. Ada beberapa cara untuk menghitung jarak Euclidean dengan Python, tetapi seperti yang dijelaskan dalam thread Stack Overflow ini , metode yang dijelaskan di sini ternyata adalah yang tercepat.
2. Anda dapat menemukan dokumentasi lengkap fungsi numpy.linalg.norm di sini .
3. Anda dapat merujuk ke halaman Wikipedia ini untuk mempelajari lebih lanjut tentang jarak Euclidean.