Я попытался использовать DBSCAN (из scikit-learn) для кластеризации текстовых документов. Я использую TF-IDF (TfidfVectorizer в sklearn) для создания функции каждого документа.
Однако я не нашел способа получить (распечатать) документы, сгруппированные с помощью DBSCAN.
DBSCAN в sklearn предоставляет атрибут с именем «labels_», который позволяет нам получать метки групп кластеров (например, 1, 2, 3, -1 для шума). Но я хочу получить документы, сгруппированные с помощью DBSCAN, вместо меток групп кластеров.
Чтобы подчеркнуть, я хочу знать, какие документы принадлежат каждому кластеру. Не могли бы вы предложить способы сделать это?
Большое спасибо!
Разве TfidfVectorizer не создает словарь из текстовых документов?
Текстовые значения в документах не группируются. Документы сгруппированы. Документы представлены вектором (который содержит несколько значений tf-idf слов, присутствующих в словаре). Эти векторы сгруппированы. Но векторы созданы из TfidfVectorizer, а не из DBSCAN. Так что поясните, пожалуйста, чем вы хотите заниматься. Вы хотите узнать, какие документы принадлежат какому кластеру? Или вы хотите посмотреть словарный запас? Или вы хотите увидеть наиболее репрезентативные слова из одного кластера?
Привет всем! Спасибо за ваши комментарии. Я обновил описание вопроса. Что касается примера, я постараюсь поработать над ним и еще раз обновлю описание. Тем не менее, я надеюсь, что обновленного описания вопроса уже достаточно, чтобы прояснить мой вопрос.
Для этого вы используете labels_. Он находится в том же порядке, что и ваши исходные документы. Итак, если labels = [1, -1, 1, 2, 3, 2], это означает, что первый документ из ваших данных принадлежит кластеру 1, второй документ является шумным, третий документ снова принадлежит кластеру 1 и т. д.
@VivekKumar: Спасибо! вот что я ищу. Если бы вы сделали свой комментарий в качестве ответа на этот вопрос, я бы сделал его принятым ответом :)





Используйте метки для выбора документов.
X[labels_ == 1,:]
Все документы должны быть в кластере 1.
предоставьте небольшой воспроизводимый набор данных образца и желаемый набор данных