ควรแบ่งเมล็ดพืชเป็นกี่คลัสเตอร์?
จากวิดีโอ คุณได้เรียนรู้วิธีเลือกจำนวนคลัสเตอร์ที่เหมาะสมสำหรับชุดข้อมูลโดยใช้กราฟ inertia ของ k-means โดยในแบบฝึกหัดนี้จะมีอาร์เรย์ samples ที่เก็บข้อมูลการวัดค่าต่าง ๆ ของตัวอย่างเมล็ดพืช เช่น พื้นที่ เส้นรอบวง ความยาว และอื่น ๆ คำถามคือ จำนวนคลัสเตอร์ที่เหมาะสมควรเป็นเท่าไร?
KMeans และ PyPlot (plt) ได้ถูก import ไว้ให้แล้ว
ชุดข้อมูลนี้มาจาก UCI Machine Learning Repository
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Unsupervised Learning ใน Python
คำแนะนำการฝึกหัด
- สำหรับแต่ละค่าของ
kที่กำหนดให้ ให้ดำเนินการตามขั้นตอนต่อไปนี้: - สร้าง instance ของ
KMeansชื่อmodelโดยมีkคลัสเตอร์ - Fit โมเดลกับข้อมูลเมล็ดพืช
samples - เพิ่มค่าของแอตทริบิวต์
inertia_ของmodelเข้าไปในลิสต์inertias - โค้ดสำหรับพล็อตกราฟ
ksกับinertiasได้เขียนไว้ให้แล้ว กด ส่งคำตอบ เพื่อดูกราฟได้เลย!
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
ks = range(1, 6)
inertias = []
for k in ks:
# Create a KMeans instance with k clusters: model
____
# Fit model to samples
____
# Append the inertia to the list of inertias
____
# Plot ks vs inertias
plt.plot(ks, inertias, '-o')
plt.xlabel('number of clusters, k')
plt.ylabel('inertia')
plt.xticks(ks)
plt.show()