पायथन में मैनहट्टन दूरी की गणना कैसे करें (उदाहरण के साथ)


दो वैक्टर, और बी के बीच मैनहट्टन की दूरी की गणना निम्नानुसार की जाती है:

Σ|ए आई – बी आई |

जहां i प्रत्येक वेक्टर का i वां तत्व है।

इस दूरी का उपयोग दो वैक्टरों के बीच असमानता को मापने के लिए किया जाता है और आमतौर पर कई मशीन लर्निंग एल्गोरिदम में इसका उपयोग किया जाता है।

यह ट्यूटोरियल पायथन में दो वैक्टरों के बीच मैनहट्टन दूरी की गणना करने के दो तरीके दिखाता है।

विधि 1: एक कस्टम फ़ंक्शन लिखें

निम्नलिखित कोड दिखाता है कि पायथन में दो वैक्टरों के बीच मैनहट्टन दूरी की गणना करने के लिए एक कस्टम फ़ंक्शन कैसे बनाया जाए:

 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

इन दोनों वैक्टरों के बीच मैनहट्टन की दूरी 9 हो जाती है।

हम हाथ से मैनहट्टन की दूरी की तुरंत गणना करके इसकी पुष्टि कर सकते हैं कि यह सही है:

Σ|ए आई – बी आई | = |2-5| + |4-5| + |4-7| + |6-8| = 3 + 1 + 3 + 2 = 9

विधि 2: सिटीब्लॉक() फ़ंक्शन का उपयोग करें

दो वैक्टरों के बीच मैनहट्टन की दूरी की गणना करने का दूसरा तरीका 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

एक बार फिर, इन दोनों वैक्टरों के बीच मैनहट्टन की दूरी 9 हो गई।

ध्यान दें कि हम इस फ़ंक्शन का उपयोग पांडा डेटाफ़्रेम में दो स्तंभों के बीच मैनहट्टन की दूरी खोजने के लिए भी कर सकते हैं:

 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

अतिरिक्त संसाधन

पायथन में यूक्लिडियन दूरी की गणना कैसे करें
पायथन में हैमिंग दूरी की गणना कैसे करें
पायथन में लेवेनशेटिन दूरी की गणना कैसे करें
पायथन में महालनोबिस दूरी की गणना कैसे करें

एक टिप्पणी जोड़ने

आपका ईमेल पता प्रकाशित नहीं किया जाएगा. आवश्यक फ़ील्ड चिह्नित हैं *