K-means บนสนามฟุตบอล (ตอนที่ 2)
ในแบบฝึกหัดก่อนหน้า คุณได้ใช้อัลกอริทึม k-means เพื่อจัดกลุ่มผู้เล่นทั้งสองทีมจาก data frame lineup สำเร็จแล้ว คราวนี้ลองมาดูว่าจะเกิดอะไรขึ้นเมื่อใช้ค่า k เป็น 3
อัลกอริทึมยังคงทำงานได้ แต่ผลลัพธ์ที่ได้นั้นสมเหตุสมผลในบริบทนี้จริงหรือเปล่า…
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การวิเคราะห์กลุ่มข้อมูลใน R
คำแนะนำการฝึกหัด
- สร้างโมเดล k-means ชื่อ
model_km3จากข้อมูลlineupโดยใช้ฟังก์ชันkmeans()พร้อมกำหนดcenters = 3 - ดึงเวกเตอร์ของการจัดกลุ่มจากโมเดล
model_km3$clusterแล้วเก็บไว้ในตัวแปรclust_km3 - เพิ่มผลการจัดกลุ่มเป็นคอลัมน์
clusterใน data framelineupแล้วบันทึกผลลัพธ์ลงใน data frame ใหม่ชื่อlineup_km3 - ใช้ ggplot วาดตำแหน่งของผู้เล่นแต่ละคนบนสนาม โดยแสดงสีตามกลุ่มที่จัดไว้
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Build a kmeans model
model_km3 <- ___
# Extract the cluster assignment vector from the kmeans model
clust_km3 <- ___
# Create a new data frame appending the cluster assignment
lineup_km3 <- ___
# Plot the positions of the players and color them using their cluster
ggplot(___, aes(x = ___, y = ___, color = factor(___))) +
geom_point()