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

ประเมินผลการจัดกลุ่มเมล็ดพืช

ในแบบฝึกหัดก่อนหน้า คุณสังเกตจากกราฟค่า inertia ว่า 3 คือจำนวนคลัสเตอร์ที่เหมาะสมสำหรับข้อมูลเมล็ดพืช ในความเป็นจริง ตัวอย่างเมล็ดพืชเหล่านี้มาจากเมล็ดพืช 3 สายพันธุ์ ได้แก่ "Kama", "Rosa" และ "Canadian" ในแบบฝึกหัดนี้ ให้จัดกลุ่มตัวอย่างเมล็ดพืชออกเป็น 3 คลัสเตอร์ แล้วเปรียบเทียบผลลัพธ์กับสายพันธุ์จริงโดยใช้ cross-tabulation

อาร์เรย์ samples ที่เก็บตัวอย่างเมล็ดพืช และลิสต์ varieties ที่ระบุสายพันธุ์ของแต่ละตัวอย่างได้เตรียมไว้ให้แล้ว รวมถึง Pandas (pd) และ KMeans ก็ได้นำเข้าไว้เรียบร้อยแล้ว

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

Unsupervised Learning ใน Python

ดูคอร์ส

คำแนะนำการฝึกหัด

  • สร้างโมเดล KMeans ชื่อ model โดยกำหนดจำนวนคลัสเตอร์เป็น 3
  • ใช้เมธอด .fit_predict() ของ model เพื่อฝึกโมเดลกับ samples และดึงป้ายกำกับคลัสเตอร์ออกมา การใช้ .fit_predict() มีผลเทียบเท่ากับการใช้ .fit() ตามด้วย .predict()
  • สร้าง DataFrame df ที่มีสองคอลัมน์ชื่อ 'labels' และ 'varieties' โดยใช้ labels และ varieties เป็นค่าของแต่ละคอลัมน์ตามลำดับ (ส่วนนี้เตรียมไว้ให้แล้ว)
  • ใช้ฟังก์ชัน pd.crosstab() กับ df['labels'] และ df['varieties'] เพื่อนับจำนวนครั้งที่สายพันธุ์แต่ละประเภทตรงกับป้ายกำกับคลัสเตอร์แต่ละอัน แล้วกำหนดผลลัพธ์ให้กับตัวแปร ct
  • กด ส่งคำตอบ เพื่อดู cross-tabulation!

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# Create a KMeans model with 3 clusters: model
model = ____

# Use fit_predict to fit model and obtain cluster labels: labels
labels = ____

# Create a DataFrame with labels and varieties as columns: df
df = pd.DataFrame({'labels': labels, 'varieties': varieties})

# Create crosstab: ct
ct = ____

# Display ct
print(ct)
แก้ไขและรันโค้ด