วิธีการคำนวณระยะทางแมนฮัตตันใน r (พร้อมตัวอย่าง)
ระยะห่างของแมนฮัตตัน ระหว่างเวกเตอร์สองตัว A และ B คำนวณได้ดังนี้:
Σ| ฉัน – ข ฉัน |
โดยที่ i คือองค์ประกอบที่ i ของเวกเตอร์แต่ละตัว
ระยะนี้ใช้เพื่อวัดความแตกต่างระหว่างเวกเตอร์สองตัว และมักใช้ใน อัลกอริธึมการเรียนรู้ของเครื่อง ต่างๆ
บทช่วยสอนนี้ให้ตัวอย่างการคำนวณระยะทางแมนฮัตตันในหน่วย R
ตัวอย่างที่ 1: ระยะห่างระหว่างแมนฮัตตันระหว่างเวกเตอร์สองตัว
รหัสต่อไปนี้แสดงวิธีสร้างฟังก์ชันแบบกำหนดเองเพื่อคำนวณระยะห่างของแมนฮัตตันระหว่างเวกเตอร์สองตัวใน R:
#create function to calculate Manhattan distance manhattan_dist <- function (a, b){ dist <- abs (ab) dist < -sum (dist) return (dist) } #define two vectors a <- c(2, 4, 4, 6) b <- c(5, 5, 7, 8) #calculate Manhattan distance between vectors manhattan_dist(a, b) [1] 9
ระยะห่างของแมนฮัตตันระหว่างเวกเตอร์ทั้งสองนี้กลายเป็น 9
เราสามารถยืนยันได้ว่าสิ่งนี้ถูกต้องโดยการคำนวณระยะทางไปแมนฮัตตันด้วยมืออย่างรวดเร็ว:
Σ| ฉัน – ข ฉัน | = |2-5| + |4-5| + |4-7| + |6-8| = 3 + 1 + 3 + 2 = 9 .
ตัวอย่างที่ 2: ระยะห่างระหว่างแมนฮัตตันระหว่างเวกเตอร์ในเมทริกซ์
ในการคำนวณระยะห่างของแมนฮัตตันระหว่างเวกเตอร์หลายตัวในเมทริกซ์ เราสามารถใช้ฟังก์ชัน dist() ที่สร้างไว้ใน R:
#create four vectors a <- c(2, 4, 4, 6) b <- c(5, 5, 7, 8) c <- c(9, 9, 9, 8) d <- c(1, 2, 3, 3) #bind vectors into one matrix mat <- rbind(a, b, c, d) #calculate Manhattan distance between each vector in the matrix dist(mat, method = " manhattan ") ABC b 9 c 19 10 d 7 16 26
วิธีการตีความผลลัพธ์นี้คือ:
- ระยะห่างระหว่างเวกเตอร์ a และ b ของแมนฮัตตันคือ 9
- ระยะห่างของแมนฮัตตันระหว่างเวกเตอร์ a และ c คือ 19
- ระยะห่างระหว่างเวกเตอร์ a และ d ของแมนฮัตตันคือ 7
- ระยะห่างของแมนฮัตตันระหว่างเวกเตอร์ b และ c คือ 10
- ระยะห่างของแมนฮัตตันระหว่างเวกเตอร์ b และ d คือ 16
- ระยะห่างของแมนฮัตตันระหว่างเวกเตอร์ c และ d คือ 26
โปรดทราบว่าเวกเตอร์แต่ละตัวในเมทริกซ์ต้องมีความยาวเท่ากัน
แหล่งข้อมูลเพิ่มเติม
วิธีการคำนวณระยะทางแบบยุคลิดในหน่วย R
วิธีการคำนวณระยะทาง Mahalanobis ใน R
วิธีการคำนวณระยะทาง Minkowski ใน R