วิธีการคำนวณระยะทาง minkowski ใน r (พร้อมตัวอย่าง)


ระยะห่าง Minkowski ระหว่างเวกเตอร์สองตัว A และ B มีการคำนวณดังนี้:

(Σ|a i – b i | p ) 1/p

โดยที่ i เป็น องค์ประกอบ ที่ i ของเวกเตอร์แต่ละตัว และ p เป็นจำนวนเต็ม

ระยะนี้ใช้เพื่อวัดความแตกต่างระหว่างเวกเตอร์สองตัว และมักใช้ใน อัลกอริธึมการเรียนรู้ของเครื่อง ต่างๆ

ในการคำนวณระยะห่าง Minkowski ระหว่างเวกเตอร์ใน R เราสามารถใช้ฟังก์ชัน dist() ในตัวพร้อมกับไวยากรณ์ต่อไปนี้:

d ist(x, วิธี =”minkowski”, p)

ทอง:

  • x: เมทริกซ์ดิจิทัลหรือเฟรมข้อมูล
  • p: พลังที่ใช้ในการคำนวณระยะทาง Minkowski

โปรดทราบว่าการตั้งค่า p = 1 เทียบเท่ากับการคำนวณ ระยะทางของแมนฮัตตัน และการตั้งค่า p = 2 เทียบเท่ากับการคำนวณ ระยะทางแบบยุคลิด

บทช่วยสอนนี้ให้ตัวอย่างวิธีใช้ฟีเจอร์นี้ในทางปฏิบัติ

ตัวอย่างที่ 1: ระยะห่าง Minkowski ระหว่างเวกเตอร์สองตัว

รหัสต่อไปนี้แสดงวิธีใช้ฟังก์ชัน dist() เพื่อคำนวณระยะห่าง Minkowski ระหว่างเวกเตอร์สองตัวใน R โดยใช้กำลังของ p = 3:

 #define two vectors
a <- c(2, 4, 4, 6)
b <- c(5, 5, 7, 8)

#bind the two vectors into a single matrix
mat <- rbind(a, b)

#calculate Minkowski distance between vectors using a power of 3
dist(mat, method=" minkowski ", p= 3 )

has
b 3.979057

ระยะห่าง Minkowski (โดยใช้กำลังของ p = 3) ระหว่างเวกเตอร์ทั้งสองนี้กลายเป็น 3.979057

ตัวอย่างที่ 2: ระยะห่าง Minkowski ระหว่างเวกเตอร์ในเมทริกซ์

ในการคำนวณระยะห่าง Minkowski ระหว่างเวกเตอร์หลายตัวในเมทริกซ์ เราสามารถใช้ไวยากรณ์ที่คล้ายกันใน 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 Minkowski distance between vectors using a power of 3
dist(mat, method = “ minkowski ”, p= 3 )

          ABC
b 3.979057                    
c 8.439010 5.142563          
d 3.332222 6.542133 10.614765

วิธีการตีความผลลัพธ์นี้คือ:

  • ระยะห่าง Minkowski ระหว่างเวกเตอร์ a และ b คือ 3.98
  • ระยะห่าง Minkowski ระหว่างเวกเตอร์ a และ c คือ 8.43
  • ระยะห่าง Minkowski ระหว่างเวกเตอร์ a และ d คือ 3.33
  • ระยะห่าง Minkowski ระหว่างเวกเตอร์ b และ c คือ 5.14
  • ระยะห่าง Minkowski ระหว่างเวกเตอร์ b และ d คือ 6.54
  • ระยะห่าง Minkowski ระหว่างเวกเตอร์ c และ d คือ 10.61 .

โปรดทราบว่าเวกเตอร์แต่ละตัวในเมทริกซ์ต้องมีความยาวเท่ากัน

แหล่งข้อมูลเพิ่มเติม

วิธีการคำนวณระยะทางแบบยุคลิดในหน่วย R
วิธีการคำนวณระยะทาง Hamming ใน R
วิธีการคำนวณระยะทางจากแมนฮัตตันในอาร์
วิธีการคำนวณระยะทาง Mahalanobis ใน R

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *