การพบเห็นโปเกมอน: hierarchical clustering
เราจะสานต่อการสืบสวนการพบเห็นโปเกมอนในตำนานจากแบบฝึกหัดก่อนหน้า จาก scatter plot ในแบบฝึกหัดที่แล้ว คุณพบว่ามีสองพื้นที่ที่มีการพบเห็นโปเกมอนหนาแน่น ซึ่งบ่งชี้ว่าจุดข้อมูลน่าจะแบ่งออกเป็นสองคลัสเตอร์ ในแบบฝึกหัดนี้ จะใช้ hierarchical clustering เพื่อจัดกลุ่มข้อมูลการพบเห็นออกเป็นสองคลัสเตอร์
'x' และ 'y' คือคอลัมน์ที่เก็บพิกัด X และ Y ของตำแหน่งที่พบเห็น ซึ่งอยู่ใน pandas DataFrame ชื่อ df โดยมี matplotlib.pyplot เป็น plt, seaborn เป็น sns และ pandas เป็น pd พร้อมใช้งานแล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การวิเคราะห์กลุ่มข้อมูลใน Python
คำแนะนำการฝึกหัด
- นำเข้าไลบรารี
linkageและfcluster - ใช้ฟังก์ชัน
linkage()เพื่อคำนวณระยะทางด้วยวิธี ward - สร้าง label คลัสเตอร์สำหรับแต่ละจุดข้อมูลโดยแบ่งเป็นสองคลัสเตอร์ด้วยฟังก์ชัน
fcluster() - พล็อตจุดข้อมูลด้วย seaborn โดยกำหนดสีที่แตกต่างกันให้แต่ละคลัสเตอร์
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Import linkage and fcluster functions
from scipy.cluster.hierarchy import ____, ____
# Use the linkage() function to compute distance
Z = ____(____, 'ward')
# Generate cluster labels
df['cluster_labels'] = ____(____, ____, criterion='maxclust')
# Plot the points with seaborn
sns.scatterplot(x=____, y=____, hue=____, data=df)
plt.show()