पायथन में मैनहट्टन दूरी की गणना कैसे करें (उदाहरण के साथ)
दो वैक्टर, ए और बी के बीच मैनहट्टन की दूरी की गणना निम्नानुसार की जाती है:
Σ|ए आई – बी आई |
जहां 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
अतिरिक्त संसाधन
पायथन में यूक्लिडियन दूरी की गणना कैसे करें
पायथन में हैमिंग दूरी की गणना कैसे करें
पायथन में लेवेनशेटिन दूरी की गणना कैसे करें
पायथन में महालनोबिस दूरी की गणना कैसे करें