首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用混淆矩阵评估NMF主题建模?

如何使用混淆矩阵评估NMF主题建模?
EN

Stack Overflow用户
提问于 2021-01-20 12:02:07
回答 1查看 68关注 0票数 0

我正在使用NMF模型进行主题建模。我想通过混淆矩阵来评估它的性能,或者如果有其他更好的方法来评估NMF,我也可以。我试图在互联网上找到教程或其他资源,但找不到任何能帮助我解决问题的东西。下面是我用于NMF主题建模的完整代码。

代码语言:javascript
复制
import pandas as pd
import numpy as np

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

from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn import metrics

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


from sklearn.decomposition import NMF

nmf = NMF(n_components=5, 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')

提前感谢您的建议和建议。

EN

回答 1

Stack Overflow用户

发布于 2021-05-04 02:58:22

如果您有与文档相关联的标签,那么您可以使用主题文档表示作为文档特征来训练分类器,并在测试集的主题文档表示上进行测试。

否则,你需要坚持无监督的度量标准,例如,最著名的是主题连贯性,它衡量主题的前N个单词的相关程度。

您可以在这里找到所有这些措施和其他许多措施:https://github.com/mind-Lab/octis#available-metrics

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65802917

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档