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