在sklearn中获取NMF(Non-negative Matrix Factorization)的主题频率,可以通过以下步骤实现:
- 导入所需的库和模块:from sklearn.decomposition import NMF
from sklearn.feature_extraction.text import TfidfVectorizer
- 准备文本数据集:documents = ["文本1", "文本2", "文本3", ...]
- 使用TfidfVectorizer将文本数据集转换为TF-IDF矩阵:vectorizer = TfidfVectorizer()
tfidf_matrix = vectorizer.fit_transform(documents)
- 初始化NMF模型并拟合TF-IDF矩阵:num_topics = 5 # 设置主题数量
nmf_model = NMF(n_components=num_topics)
nmf_model.fit(tfidf_matrix)
- 获取NMF模型的主题频率:topic_freq = nmf_model.transform(tfidf_matrix)
- 打印每个文本的主题频率:for i, freq in enumerate(topic_freq):
print("文本{}的主题频率:".format(i+1))
for j, topic in enumerate(freq):
print("主题{}: {:.2f}".format(j+1, topic))
在上述代码中,我们使用TfidfVectorizer将文本数据集转换为TF-IDF矩阵,然后使用NMF模型对TF-IDF矩阵进行拟合。最后,通过transform方法获取每个文本的主题频率。可以根据需要调整主题数量(num_topics)来获取不同数量的主题频率。
NMF的主题频率可以用于文本聚类、主题建模、推荐系统等应用场景。腾讯云提供了云原生、人工智能、物联网等相关产品,可以根据具体需求选择适合的产品。更多关于腾讯云相关产品的介绍和详细信息,请访问腾讯云官方网站:https://cloud.tencent.com/