การดึงค่า cluster labels
ในแบบฝึกหัดก่อนหน้า เราพบว่าการจัดกลุ่มระดับกลางของตัวอย่างเมล็ดพืชที่ความสูง 6 ได้ 3 กลุ่ม คราวนี้ให้ใช้ฟังก์ชัน fcluster() เพื่อดึง cluster labels สำหรับการจัดกลุ่มระดับกลางนี้ แล้วเปรียบเทียบ labels กับสายพันธุ์ของเมล็ดพืชโดยใช้ cross-tabulation
การทำ hierarchical clustering ได้ดำเนินการไว้แล้ว และ mergings คือผลลัพธ์จากฟังก์ชัน linkage() รายการ varieties ระบุสายพันธุ์ของตัวอย่างเมล็ดพืชแต่ละตัว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Unsupervised Learning ใน Python
คำแนะนำการฝึกหัด
- นำเข้า:
pandasโดยใช้ชื่อแทนว่าpdfclusterจาก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)