เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

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 frame lineup แล้วบันทึกผลลัพธ์ลงใน 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()
แก้ไขและรันโค้ด