วิธีการคำนวณความคล้ายคลึงโคไซน์ใน r


ความคล้ายคลึงกันของโคไซน์ คือการวัดความคล้ายคลึงกันระหว่างเวกเตอร์สองตัวของปริภูมิผลคูณภายใน

สำหรับเวกเตอร์สองตัว A และ B ความคล้ายคลึงของโคไซน์จะถูกคำนวณดังนี้:

ความคล้ายคลึงกันของโคไซน์ = ΣA i B i / (√ΣA i 2 √ΣB i 2 )

บทช่วยสอนนี้จะอธิบายวิธีคำนวณความคล้ายคลึงโคไซน์ระหว่างเวกเตอร์ใน R โดยใช้ฟังก์ชัน cosine() จากไลบรารี lsa

ความคล้ายคลึงโคไซน์ระหว่างเวกเตอร์สองตัวใน R

รหัสต่อไปนี้แสดงวิธีการคำนวณความคล้ายคลึงโคไซน์ระหว่างเวกเตอร์สองตัวใน R:

 library (lsa)

#definevectors
a <- c(23, 34, 44, 45, 42, 27, 33, 34)
b <- c(17, 18, 22, 26, 26, 29, 31, 30)

#calculate Cosine Similarity
cosine(a, b)

         [,1]
[1,] 0.965195

ความคล้ายคลึงโคไซน์ระหว่างเวกเตอร์ทั้งสองกลายเป็น 0.965195 .

ความคล้ายคลึงโคไซน์ของเมทริกซ์ใน R

รหัสต่อไปนี้แสดงวิธีการคำนวณความคล้ายคลึงโคไซน์ระหว่างเมทริกซ์ของเวกเตอร์:

 library (lsa)

#define matrix
a <- c(23, 34, 44, 45, 42, 27, 33, 34)
b <- c(17, 18, 22, 26, 26, 29, 31, 30)
c <- c(34, 35, 35, 36, 51, 29, 30, 31)

data <- cbind(a, b, c)

#calculate Cosine Similarity
cosine(data)

          ABC
a 1.0000000 0.9651950 0.9812406
b 0.9651950 1.0000000 0.9573478
c 0.9812406 0.9573478 1.0000000

ต่อไปนี้เป็นวิธีการตีความผลลัพธ์:

  • ความคล้ายคลึงโคไซน์ระหว่างเวกเตอร์ a และ b คือ 0.9651950
  • ความคล้ายคลึงโคไซน์ระหว่างเวกเตอร์ a และ c คือ 0.9812406
  • ความคล้ายคลึงโคไซน์ระหว่างเวกเตอร์ b และ c คือ 0.9573478

ความคิดเห็น

1. ฟังก์ชัน cosine() จะทำงานกับเมทริกซ์จตุรัสทุกขนาด

2. ฟังก์ชัน cosine() จะทำงานบนเมทริกซ์ แต่ ไม่ใช่ ในกรอบข้อมูล อย่างไรก็ตาม คุณสามารถแปลง data frame เป็นเมทริกซ์ใน R ได้อย่างง่ายดายโดยใช้ฟังก์ชัน as.matrix()

3. อ้างถึงหน้า Wikipedia นี้ เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับความคล้ายคลึงของโคไซน์

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

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