quanteda - 如何将新的文本数据转换为预定义的 dfm?
问题描述
我正在使用包 topicmodels 进行主题建模。所以我新把数据分成训练集和测试集。我想知道是否可以将测试数据转换为预定义的 dfm 对象(由训练数据生成)。
谢谢
解决方案
不仅在主题建模中,而且在其他样本外预测中,您都可以使用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)
推荐阅读
- java - 为什么每当我尝试运行或调试任何东西时,IntelliJ 都会切换到一个特定的类?
- laravel - 总和集合变量
- c++ - 如何在类中存储对 C 样式数组的引用?
- time-series - 在训练和测试数据拆分之前或之后标准化时间序列数据?
- python - pyclustering clarans.get_clusters() 返回空列表
- javascript - 提交表单后,Django 清除表单字段。在 forms.py 中创建表单
- java - 将数据从移动设备(android)发送到 Wamp 服务器时出现 Volley authfailure 错误
- sql - 如何为表中的用户设置不同数量的列?
- javascript - 使用动态编程的斐波那契系列中的 Javascript 闭包
- javascript - 如何在 jQuery 中的 addClass 和 removeClass 之间切换?