我正在为 NMF 文本数据聚类实现 Python 脚本。在我的工作中,我使用的是 Scikit NMF 实现,但是据我所知,在 Scikit NMF 中,它更像是分类方法而不是聚类方法。
我已经开发了一个简单的脚本来处理一些示例文章。我正在对它们进行预处理并作为 NMF 的输入。根据我教授分享的论文,我收到了一些集群,但是我不知道如何可视化/呈现它们。
你们中的任何人都知道如何使这个易于阅读吗?:)
主脚本代码如下:
from sklearn.feature_extraction.text import TfidfVectorizer, CountVectorizer
from sklearn.cluster import KMeans
from sklearn.preprocessing import normalize
from sklearn.decomposition import LatentDirichletAllocation, NMF
from sklearn.preprocessing import normalize
import pandas as pd
from preprocess import *
# loading data
raw_text_data = loading_bbc_datasets(5)
text_data = text_preparing(raw_text_data)
tf_vectorizer = TfidfVectorizer()
Y = tf_vectorizer.fit_transform(text_data)
Y_norm = normalize(Y)
nmf = NMF(n_components=5, random_state=1, alpha=.1, l1_ratio=0.5)
A = nmf.fit_transform(Y_norm)
X = nmf.components_
features = tf_vectorizer.get_feature_names()
print(features)
AF = pd.DataFrame(Y_norm.toarray())
WF = pd.DataFrame(A)
HF = pd.DataFrame(X)
AF.to_csv('Y.csv', sep=',', header=features)
WF.to_csv('A.csv', sep=',', header=['C1', 'C2', 'C3', 'C4', 'C5'])
HF.to_csv('X.csv', sep=',', header=features)