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

การดึงค่า cluster labels

ในแบบฝึกหัดก่อนหน้า เราพบว่าการจัดกลุ่มระดับกลางของตัวอย่างเมล็ดพืชที่ความสูง 6 ได้ 3 กลุ่ม คราวนี้ให้ใช้ฟังก์ชัน fcluster() เพื่อดึง cluster labels สำหรับการจัดกลุ่มระดับกลางนี้ แล้วเปรียบเทียบ labels กับสายพันธุ์ของเมล็ดพืชโดยใช้ cross-tabulation

การทำ hierarchical clustering ได้ดำเนินการไว้แล้ว และ mergings คือผลลัพธ์จากฟังก์ชัน linkage() รายการ varieties ระบุสายพันธุ์ของตัวอย่างเมล็ดพืชแต่ละตัว

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

Unsupervised Learning ใน Python

ดูคอร์ส

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

  • นำเข้า:
    • pandas โดยใช้ชื่อแทนว่า pd
    • fcluster จาก scipy.cluster.hierarchy
  • ทำ flat hierarchical clustering โดยใช้ฟังก์ชัน fcluster() กับ mergings กำหนดความสูงสูงสุดเป็น 6 และใส่อาร์กิวเมนต์ criterion='distance'
  • สร้าง DataFrame df ที่มีสองคอลัมน์ชื่อ 'labels' และ 'varieties' โดยใช้ labels และ varieties เป็นค่าในแต่ละคอลัมน์ตามลำดับ (ส่วนนี้เตรียมไว้ให้แล้ว)
  • สร้าง cross-tabulation ct ระหว่าง df['labels'] และ df['varieties'] เพื่อนับจำนวนครั้งที่สายพันธุ์เมล็ดพืชแต่ละชนิดตรงกับแต่ละ cluster label

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

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

# Perform the necessary imports
import ____ as ____
from ____ import ____

# Use fcluster to extract 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)
แก้ไขและรันโค้ด