Получите кластерные документы DBSCAN

Я попытался использовать DBSCAN (из scikit-learn) для кластеризации текстовых документов. Я использую TF-IDF (TfidfVectorizer в sklearn) для создания функции каждого документа.

Однако я не нашел способа получить (распечатать) документы, сгруппированные с помощью DBSCAN.

DBSCAN в sklearn предоставляет атрибут с именем «labels_», который позволяет нам получать метки групп кластеров (например, 1, 2, 3, -1 для шума). Но я хочу получить документы, сгруппированные с помощью DBSCAN, вместо меток групп кластеров.

Чтобы подчеркнуть, я хочу знать, какие документы принадлежат каждому кластеру. Не могли бы вы предложить способы сделать это?

Большое спасибо!

предоставьте небольшой воспроизводимый набор данных образца и желаемый набор данных

MaxU 12.06.2018 20:57

Разве TfidfVectorizer не создает словарь из текстовых документов?

rickhg12hs 12.06.2018 23:00

Текстовые значения в документах не группируются. Документы сгруппированы. Документы представлены вектором (который содержит несколько значений tf-idf слов, присутствующих в словаре). Эти векторы сгруппированы. Но векторы созданы из TfidfVectorizer, а не из DBSCAN. Так что поясните, пожалуйста, чем вы хотите заниматься. Вы хотите узнать, какие документы принадлежат какому кластеру? Или вы хотите посмотреть словарный запас? Или вы хотите увидеть наиболее репрезентативные слова из одного кластера?

Vivek Kumar 13.06.2018 08:55

Привет всем! Спасибо за ваши комментарии. Я обновил описание вопроса. Что касается примера, я постараюсь поработать над ним и еще раз обновлю описание. Тем не менее, я надеюсь, что обновленного описания вопроса уже достаточно, чтобы прояснить мой вопрос.

Glorian 13.06.2018 10:15

Для этого вы используете labels_. Он находится в том же порядке, что и ваши исходные документы. Итак, если labels = [1, -1, 1, 2, 3, 2], это означает, что первый документ из ваших данных принадлежит кластеру 1, второй документ является шумным, третий документ снова принадлежит кластеру 1 и т. д.

Vivek Kumar 13.06.2018 11:06

@VivekKumar: Спасибо! вот что я ищу. Если бы вы сделали свой комментарий в качестве ответа на этот вопрос, я бы сделал его принятым ответом :)

Glorian 13.06.2018 13:39
Оптимизация производительности модели: Руководство по настройке гиперпараметров в Python с Keras
Оптимизация производительности модели: Руководство по настройке гиперпараметров в Python с Keras
Настройка гиперпараметров - это процесс выбора наилучшего набора гиперпараметров для модели машинного обучения с целью оптимизации ее...
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Kubernetes - это портативная, расширяемая платформа с открытым исходным кодом для управления контейнерными рабочими нагрузками и сервисами, которая...
Udacity Nanodegree Capstone Project: Классификатор пород собак
Udacity Nanodegree Capstone Project: Классификатор пород собак
Вы можете ознакомиться со скриптами проекта и данными на github .
Определение пород собак с помощью конволюционных нейронных сетей (CNN)
Определение пород собак с помощью конволюционных нейронных сетей (CNN)
В рамках финального проекта Udacity Data Scietist Nanodegree я разработал алгоритм с использованием конволюционных нейронных сетей (CNN) для...
Почему Python - идеальный выбор для проекта AI и ML
Почему Python - идеальный выбор для проекта AI и ML
Блог, которым поделился Harikrishna Kundariya в нашем сообществе Developer Nation Community.
3
6
549
1

Ответы 1

Используйте метки для выбора документов.

X[labels_ == 1,:]

Все документы должны быть в кластере 1.

Другие вопросы по теме