首页 > 解决方案 > 如何将新的文本数据转换为预定义的 dfm?

问题描述

我正在使用包 topicmodels 进行主题建模。所以我新把数据分成训练集和测试集。我想知道是否可以将测试数据转换为预定义的 dfm 对象(由训练数据生成)。

谢谢

标签: quanteda

解决方案


不仅在主题建模中,而且在其他样本外预测中,您都可以使用dfm_select()DFM 作为模式来使 DMF 的特征在训练和测试集上相同。

require(quanteda)
require(topicmodels)

corp_train <- data_corpus_irishbudget2010[1:7]
mt_train <- dfm(corp_train)
lda <- LDA(convert(mt_train, "topicmodels"),  10)

corp_test <- data_corpus_irishbudget2010[8:14]
mt_test <- dfm(corp_test)
mt_test <- dfm_select(mt_test, mt_train) # make the features identical

post <- posterior(lda, mt_test)
apply(post$topic, 1, which.max)

推荐阅读