Thuật ngữ tiêu biểu trong các cụm phim
Bây giờ bạn đã tạo được ma trận thưa, hãy sinh các tâm cụm và in ra ba thuật ngữ đứng đầu trong mỗi cụm. Dùng phương thức .todense() để chuyển ma trận thưa tfidf_matrix thành ma trận thường để hàm kmeans() xử lý. Sau đó, dùng phương thức .get_feature_names() để lấy danh sách thuật ngữ trong đối tượng tfidf_vectorizer. Hàm zip() trong Python sẽ ghép hai danh sách với nhau.
Đối tượng tfidf_vectorizer và ma trận thưa tfidf_matrix từ bài trước đã được giữ lại trong bài này. kmeans đã được import từ SciPy.
Với số lượng điểm dữ liệu lớn hơn, các cụm tạo ra sẽ được xác định rõ ràng hơn. Tuy nhiên, điều này đòi hỏi tài nguyên tính toán, nên khó thực hiện trọn vẹn trong một bài tập ở đây.
Bài tập này là một phần của khóa học
Phân cụm trong Python
Hướng dẫn bài tập
- Tạo các tâm cụm bằng hàm
kmeans(). - Tạo danh sách thuật ngữ từ đối tượng
tfidf_vectorizer. - In ra 3 thuật ngữ đứng đầu của mỗi cụm.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
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(____)