Term หลักในแต่ละ cluster ของภาพยนตร์
เมื่อสร้าง sparse matrix แล้ว ให้สร้าง cluster centers และพิมพ์ 3 term อันดับแรกในแต่ละ cluster ใช้เมธอด .todense() เพื่อแปลง sparse matrix tfidf_matrix ให้เป็น matrix ปกติ ก่อนส่งให้ฟังก์ชัน kmeans() ประมวลผล จากนั้นใช้เมธอด .get_feature_names() เพื่อดึงรายการ term จากออบเจกต์ tfidf_vectorizer ทั้งนี้ ฟังก์ชัน zip() ใน Python ใช้สำหรับรวมสองลิสต์เข้าด้วยกัน
ออบเจกต์ tfidf_vectorizer และ sparse matrix tfidf_matrix จากแบบฝึกหัดก่อนหน้ายังคงถูกเก็บไว้ให้ใช้งานในแบบฝึกหัดนี้ และได้ import kmeans จาก SciPy เรียบร้อยแล้ว
หากมีจำนวนข้อมูลมากขึ้น cluster ที่ได้จะมีความชัดเจนยิ่งขึ้น อย่างไรก็ตาม การประมวลผลดังกล่าวต้องการทรัพยากรคอมพิวเตอร์พอสมควร จึงไม่เหมาะกับการทำในแบบฝึกหัดนี้
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การวิเคราะห์กลุ่มข้อมูลใน Python
คำแนะนำการฝึกหัด
- สร้าง cluster centers ด้วยฟังก์ชัน
kmeans() - สร้างรายการ term จากออบเจกต์
tfidf_vectorizer - พิมพ์ 3 term อันดับแรกของแต่ละ cluster
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
num_clusters = 2
# Generate cluster centers through the kmeans function
cluster_centers, distortion = ____
# Generate terms from the tfidf_vectorizer object
terms = tfidf_vectorizer.____()
for i in range(num_clusters):
# Sort the terms and print top 3 terms
center_terms = dict(zip(____, ____))
sorted_terms = sorted(____, key=center_terms.get, reverse=True)
print(____)