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