在 python 中的 LDA 上应用 SVM

数据挖掘 机器学习 文本挖掘 支持向量机 主题模型 低密度脂蛋白
2022-02-24 05:26:00

希望有人在这里花时间,

我的方法是这样的:TFIDF -> LDA -> SVM

我正在使用 LDA 来提取主题。我想做主题建模并将主题用作特征来进行文档分类。

我知道我必须将特征向量发送到 SVM,但我的问题是如何使这个特征向量发送到 svm?这里的 featureValue 是分配给每个单词的概率吗?我的问题是下面链接中的第 3 步,我不知道该怎么做

LDA 上的 svm

但是在这个链接中没有实现,这只是解释。

非常感谢您的时间:)

1个回答

在您的其他线程中遵循您的代码:

# Use tf (raw term count) features for LDA.
print("Extracting tf features for LDA...")
tf_vectorizer = CountVectorizer(max_df=0.95, min_df=2,
                                max_features=n_features,
                                stop_words='english')
t0 = time()
tf = tf_vectorizer.fit_transform(data_samples)
print("done in %0.3fs." % (time() - t0))

print("Topic modelling with LDA...")
lda = LatentDirichletAllocation(n_topics=n_topics, max_iter=5,
                                learning_method='online',
                                learning_offset=50.,
                                random_state=0)

lda_x = lda.fit_transform(tf)
# so lda_x is your doc-topic distribution that you can use for feature vector to your SVM model.
# lda.components_ is your topic-word distribution.

希望这可以帮助!