วิธีการคำนวณความคล้ายคลึงโคไซน์ใน 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 นี้ เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับความคล้ายคลึงของโคไซน์