K เป็นข้อมูลที่นำมาใช้กับอัลกอริทึมสำหรับการวิเคราะห์เชิงพยากรณ์ หมายถึงจำนวนกลุ่มที่อัลกอริทึมต้องแยกออกจากชุดข้อมูลซึ่งแสดงเป็นพีชคณิตเป็น k อัลกอริทึม K-means แบ่งข้อมูลที่กำหนดให้เป็นกลุ่ม k อัลกอริทึมจะดำเนินการต่อไปนี้:
-
เลือก k รายการสุ่มจากชุดข้อมูลและตั้งชื่อให้เป็นตัวแทนของกลุ่ม
-
เชื่อมต่อแต่ละรายการที่เหลือในชุดข้อมูลกับตัวแทนคลัสเตอร์ที่ใกล้ที่สุดโดยใช้ระยะทางแบบยุคลิดที่คำนวณโดยฟังก์ชันที่คล้ายคลึงกัน
-
คำนวณตัวแทนของกลุ่มใหม่ใหม่
-
ทำซ้ำขั้นตอนที่ 2 และ 3 จนกว่ากลุ่มจะไม่เปลี่ยน
ตัวแทนของคลัสเตอร์คือค่าเฉลี่ย คณิตศาสตร์ (โดยเฉลี่ย) ของรายการทั้งหมดที่อยู่ในคลัสเตอร์เดียวกัน ตัวแทนนี้เรียกว่า cluster centroid ตัวอย่างเช่นพิจารณาสามรายการจากชุดข้อมูลผลไม้ที่
ประเภท 1 สอดคล้องกับกล้วย
ประเภทที่ 2 สอดคล้องกับแอปเปิ้ล
สี 2 หมายถึงสีเหลือง
สี 3 สอดคล้องกับสีเขียว
สมมติว่ารายการเหล่านี้ถูกกำหนดให้กับคลัสเตอร์เดียวกันค่า centroid ของทั้งสามรายการจะถูกคำนวณ
รายการ | คุณลักษณะ # 1 ประเภท | คุณลักษณะ # 2 สี | คุณลักษณะ # 3 น้ำหนัก (ออนซ์) |
---|---|---|---|
1 | 1 | 2 | 5. 33 |
2 | 2 | 3 | 9 33 |
3 | 1 | 2 | 2 1 |
นี่คือการคำนวณของตัวแทนคลัสเตอร์ของสามรายการที่อยู่ในคลัสเตอร์เดียวกัน ตัวแทนคลัสเตอร์เป็นเวกเตอร์ของแอตทริบิวต์สามตัว แอตทริบิวต์นี้เป็นค่าเฉลี่ยของแอตทริบิวต์ของรายการในกลุ่มที่มีปัญหา
รายการ | คุณลักษณะ # 1 ประเภท | คุณลักษณะ # 2 สี | คุณลักษณะ # 3 น้ำหนัก (ออนซ์) |
---|---|---|---|
1 | 1 | 2 | 5. 33 |
2 | 2 | 3 | 9 33 |
3 | 1 | 2 | 2 1 |
ผู้แทนคลัสเตอร์ (Centroid Vector) | (1 + 2 + 1) / 3 = 1 33 | (2 + 3 + 2) / 3 = 2 33 | (5. 33 + 9 33 +32. 1) / 3 = 3 |
ชุดข้อมูลที่แสดงต่อไปประกอบด้วยการให้คะแนนเจ็ดผลิตภัณฑ์ของลูกค้าทั้งสองผลิตภัณฑ์คือ A และ B การจัดอันดับเป็นจำนวนคะแนน ระหว่าง 0 ถึง 10) ที่ลูกค้าแต่ละรายให้กับผลิตภัณฑ์ - ยิ่งมีคะแนนมากเท่าใด
การใช้อัลกอริธึม K-means และสมมติว่า k เท่ากับ 2 ชุดข้อมูลจะถูกแบ่งออกเป็นสองกลุ่ม ส่วนที่เหลือของกระบวนการมีลักษณะดังนี้:
-
เลือกสองรายการแบบสุ่มจากชุดข้อมูลและตั้งชื่อให้เป็นตัวแทนของกลุ่ม
ต่อไปนี้แสดงขั้นตอนเริ่มต้นของการเลือก centroids แบบสุ่มที่เริ่มกระบวนการ K-means clusteringcentroids เริ่มต้นจะถูกสุ่มเลือกจากข้อมูลที่คุณกำลังวิเคราะห์ ในกรณีนี้คุณกำลังมองหาสองกลุ่มดังนั้นสองรายการข้อมูลจะถูกเลือกแบบสุ่ม: ลูกค้า 1 และ 5
ในตอนแรกกระบวนการจัดกลุ่มสร้างกลุ่มสองกลุ่มที่อยู่รอบ ๆ กลุ่มผู้ใช้คลัสเตอร์ทั้งสองกลุ่มแรก (สุ่มเลือก) จากนั้นตัวแทนของกลุ่มจะได้รับการคำนวณใหม่ การคำนวณขึ้นอยู่กับรายการในแต่ละกลุ่ม
ลูกค้าที่ให้คะแนนผลิตภัณฑ์ 1 2 2 2 3 4 3 < 6 8 4 7 10 5 10 14 6 9 10 7 7 9 ตรวจสอบรายการอื่น ๆ (ลูกค้า) และมอบหมายให้ตัวแทนคลัสเตอร์ที่คล้ายคลึงกันมากที่สุด ใช้ ระยะทางยุคลิด -
เพื่อคำนวณว่ารายการใดที่คล้ายคลึงกันกับกลุ่มของรายการ:
ความคล้ายคลึงกันของรายการ I กับกลุ่ม X = sqrt {{{left ({{f_1} - {x_1 } {} {{left ({{f_n} - {x_n}} ถูกต้อง)} ^ 2} } ค่า {f_1}; {f_2}; ldots; {f_n} คือค่าที่เป็นตัวเลขของคุณลักษณะที่อธิบายรายการที่เป็นปัญหา ค่า {x_1}; {x_2}; ldots; {x_n} คือคุณสมบัติ (ค่าเฉลี่ย) ของตัวแทนกลุ่ม (centroid) โดยสมมติว่าแต่ละรายการมีคุณลักษณะ n
ตัวอย่างเช่นพิจารณารายการที่เรียกว่า Customer 2 (3, 4): การให้คะแนนของลูกค้าสำหรับผลิตภัณฑ์ A เท่ากับ 3 และการให้คะแนนสำหรับผลิตภัณฑ์ B คือ 4 คุณลักษณะกลุ่มตัวแทนคือ (2, 2) ความคล้ายคลึงกันของลูกค้า 2 ต่อคลัสเตอร์ 1 มีการคำนวณดังนี้: ความคล้ายคลึงกันของรายการ 2 กับกลุ่ม 1 = sqrt {{{left ({3 - 2} ทางด้านขวา)} ^ 2} + {{left ({4 - 2 } นี่คือขั้นตอนเดียวกับ Cluster 2: ความคล้ายคลึงกันของ Item 2 กับ Cluster 2 = sqrt {{{left ({3 - 10} ด้านขวา) } เปรียบเทียบกับผลลัพธ์เหล่านี้คุณจะกำหนดรายการ 2 (นั่นคือลูกค้า 2) เป็นกลุ่ม 1 เนื่องจากตัวเลขดังกล่าว รายการ 2 คล้ายกับกลุ่ม 1
ใช้การวิเคราะห์ความคล้ายคลึงกันกับทุกรายการอื่น ๆ ในชุดข้อมูล
ทุกครั้งที่สมาชิกใหม่เข้าร่วมกลุ่มคุณต้องคำนวณหน่วยคลัสเตอร์ใหม่
นี่แสดงให้เห็นถึงผลลัพธ์ของการทำซ้ำขั้นแรกของอัลกอริธึม K-mean สังเกตว่า
k
เท่ากับ 2 ดังนั้นคุณกำลังมองหาสองกลุ่มซึ่งแบ่งกลุ่มลูกค้าออกเป็นสองกลุ่มที่มีความหมาย ลูกค้าทุกรายจะได้รับการวิเคราะห์แยกกันและได้รับมอบหมายให้เป็นหนึ่งในกลุ่มตามความคล้ายคลึงกันของลูกค้ากับตัวแทนกลุ่มปัจจุบันแต่ละกลุ่ม
-
ทำซ้ำชุดข้อมูลอีกครั้งโดยดูทุกองค์ประกอบ คำนวณความคล้ายคลึงกันระหว่างแต่ละองค์ประกอบกับตัวแทนกลุ่มปัจจุบัน
สังเกตว่าลูกค้า 3 ได้ย้ายจาก Cluster 1 เป็น Cluster 2. เนื่องจากลูกค้า 3 เป็นระยะทางที่คลัสเตอร์ของ Cluster 2 อยู่ใกล้กว่ากลุ่มคลัสเตอร์ของ Cluster 1.
Cluster Representative (Centroid Vector) Cluster 1 Customer ID # 1 (2, 2)
-
Cluster 2
รหัสลูกค้า # 5 (10, 14)
Iteration # 1 Customer Cluster 1 Customer Cluster ตัวแทนจำหน่ายคลัสเตอร์ 1 (2, 2) ลูกค้าที่อยู่ในกลุ่ม < > 5 (10, 14) 2 1, 2 (2.4, 3) 5 (10, 14) 3 1, 2, 3 (3. 6, 4 6) 5 (10, 14) 4 1, 2, 3 (3. 6, 4 6) 4, 5 (8. 4, 12) 6 1, 2, 3 (3. 6, 4 6) 4, 5, 6 (8.6, 11 4) 7 1, 2, 3 > <3 4, 5, 6, 7 (8.2, 10.8) นี่เป็นครั้งที่สองของอัลกอริทึม K-means ในข้อมูลลูกค้า ลูกค้าแต่ละรายกำลังได้รับการวิเคราะห์ใหม่ ลูกค้า 2 ถูกกำหนดให้กับ Cluster 1 เนื่องจาก Customer 2 อยู่ใกล้กับตัวแทนของ Cluster 1 มากกว่า Cluster 2. ภาพจำลองเดียวกันกับลูกค้า 4. สังเกตว่าตัวแทนของคลัสเตอร์กำลังคำนวณใหม่ทุกครั้งที่มีการกำหนดสมาชิกใหม่ให้กับคลัสเตอร์ Iteration # 2 Customer Cluster 1 Customer Cluster 2 ลูกค้าที่จะตรวจสอบ รหัสลูกค้าที่เป็นของ Cluster 1 ตัวแทนจำหน่ายคลัสเตอร์ รหัสลูกค้าที่เป็นของ Cluster 2 > ตัวแทนกลุ่ม 1 1 (3. 6, 4 6)
5
(8.2, 10.8) | 2 | 1, 2 < 5 | ||
---|---|---|---|---|
(8.2, 10.8) | 3 | 1, 2 | (5.2,3) | 5, (5.2, 3) |
3 | (7. 8, 10 2) | 4 | 1, 2 | (5.2, 3) |
4, 5. 3 | (7.8, 10 2) | 6 | 1, 2 | (5. 2, 3) |
4, 5, 6. 3 | (7. 8, 10. 2) | 7 < 1, 2 | (5. 2, 3) | 3, 4, 5, 6, 7 |
(7. 8, 10. 2) |