Как визуализировать модель NMF topi c с диаграммой кластеризации t-sne? - PullRequest
0 голосов
/ 03 апреля 2020

Я занимаюсь топи c моделированием и использовал модель NMI (неотрицательная матричная факторизация) топи c. Я уже использовал pyLDAvis для визуализации модели, а также для подготовки диаграммы кластеризации t-sne. Можно ли визуализировать модель NMF topi c с помощью этой визуализации? Я проверил inte rnet Я не смог его найти.

Ниже приведен код для NMF:

import pandas as pd
import numpy as np

reviews_datasets = pd.read_csv(r'XYZ.csv')
reviews_datasets = reviews_datasets.head(20000)
reviews_datasets.dropna()

from sklearn.feature_extraction.text import TfidfVectorizer

tfidf_vect = TfidfVectorizer(max_df=0.8, min_df=2, stop_words='english')
doc_term_matrix = tfidf_vect.fit_transform(reviews_datasets['review'].values.astype('U'))

from sklearn.decomposition import NMF

nmf = NMF(n_components=10, random_state=42)
nmf.fit(doc_term_matrix)

import random

for i in range(10):
    random_id = random.randint(0,len(tfidf_vect.get_feature_names()))
    print(tfidf_vect.get_feature_names()[random_id])

first_topic = nmf.components_[0]
top_topic_words = first_topic.argsort()[-10:]

for i in top_topic_words:
    print(tfidf_vect.get_feature_names()[i])

for i,topic in enumerate(nmf.components_):
    print(f'Top 10 words for topic #{i}:')
    print([tfidf_vect.get_feature_names()[i] for i in topic.argsort()[-10:]])
    print('\n')

import pyLDAvis
import pyLDAvis.sklearn
import matplotlib.pyplot as plt
%matplotlib inline
panel = pyLDAvis.sklearn.prepare(nmf, doc_term_matrix, tfidf_vect, mds='tsne')
pyLDAvis.display(panel)

Заранее спасибо!

...