Найчастотніші терміни у кластерах фільмів
Тепер, коли ви створили розріджену матрицю, згенеруйте центри кластерів і виведіть перші три терміни в кожному кластері. Використайте метод .todense(), щоб перетворити розріджену матрицю tfidf_matrix на звичайну матрицю для обробки функцією kmeans(). Потім застосуйте метод .get_feature_names(), щоб отримати список термінів з об'єкта tfidf_vectorizer. Функція zip() у Python об'єднує два списки.
Об'єкт tfidf_vectorizer і розріджена матриця tfidf_matrix з попереднього кроку збережені в цій вправі. kmeans імпортовано зі SciPy.
За більшої кількості точок даних утворені кластери будуть виразнішими. Однак це потребує обчислювальних ресурсів, тож виконати це в межах цієї вправи складно.
Ця вправа є частиною курсу
Кластерний аналіз у Python
Інструкції до вправи
- Згенеруйте центри кластерів за допомогою функції
kmeans(). - Отримайте список термінів з об'єкта
tfidf_vectorizer. - Виведіть перші 3 терміни кожного кластера.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
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(____)