1

我正在尝试建立一个用于主题提取的 NMF 模型。对于模型的重新训练,我必须将参数传递给 nmf 函数,为此我需要从算法返回的给定点传递 x 坐标,这是供参考的代码:

no_features = 1000
no_topics = 9
print ('Old number of topics: ', no_topics)
tfidf_vectorizer = TfidfVectorizer(max_df = 0.95, min_df = 2, max_features = no_features, stop_words = 'english')
tfidf = tfidf_vectorizer.fit_transform(documents)
tfidf_feature_names = tfidf_vectorizer.get_feature_names()

no_topics = tfidf.shape
print('New number of topics :', no_topics)
# nmf = NMF(n_components = no_topics, random_state = 1, alpha = .1, l1_ratio = .5, init = 'nndsvd').fit(tfidf)

在倒数第三行,tfidf.shape 将一个点 (3,1000) 返回到变量“no_topics”,但是我希望该变量仅设置为 x 坐标,即 (3)。如何从该点仅提取 x 坐标?

4

2 回答 2

1

您可以选择第一个值no_topics[0]

print('New number of topics : {}'.format(no_topics[0]))

于 2019-12-26T05:30:59.140 回答
1

您可以使用 numpy 数组 tfidf 进行切片

topics = tfidf[0,:]
于 2019-12-26T05:32:11.017 回答