R中的分类/预测
我有一个N文档集,分类为垃圾邮件/无垃圾邮件。我按照标准程序预处理R()中的数据。预处理以R中的分类/预测,r,machine-learning,nlp,classification,R,Machine Learning,Nlp,Classification,我有一个N文档集,分类为垃圾邮件/无垃圾邮件。我按照标准程序预处理R()中的数据。预处理以DocumenTermMatrix结束,使用权重为tfidf 现在我想用我的模型对新文档进行分类 如何计算单个新文档对应的DocumentVector(使用文档的tf和语料库的idf)?我希望避免重新计算整个语料库的文档术语矩阵。我不知道您使用的是什么svm库,但您的svm模型似乎存储在语料库中。svm--正确吗 要预测新文档,您可以按照任务2中描述的过程进行操作。如果您使用其他库,程序将类似。还有一个IR
DocumenTermMatrix
结束,使用权重为tfidf
现在我想用我的模型对新文档进行分类
如何计算单个新文档对应的
DocumentVector
(使用文档的tf和语料库的idf)?我希望避免重新计算整个语料库的文档术语矩阵
。我不知道您使用的是什么svm库,但您的svm模型似乎存储在语料库中。svm
--正确吗
要预测新文档,您可以按照任务2中描述的过程进行操作。如果您使用其他库,程序将类似。还有一个IRIS数据集的实例。唯一的区别是,您的新文档必须以与培训示例相同的方式进行处理(即删除停止词、tf idf等)我不知道您使用的是什么svm库,但您的svm模型似乎存储在
语料库中。svm
--正确吗
要预测新文档,您可以按照任务2中描述的过程进行操作。如果您使用其他库,程序将类似。还有一个IRIS数据集的实例。唯一的区别是,您的新文档必须以与培训示例相同的方式进行处理(即删除stopwords、tf idf等)我过去遇到过类似的问题,tm软件包中不包含此功能。Ingo Feiner建议构建一个函数来获取DocumentVector。该函数需要使用语料库和新文档中先前构建的tm或dtm。首先,以与语料库相同的方式预处理新文档,并创建一个包含单词和tf的列表。您可以将tm/dtm中的单词(例如tdm$dimnames$Terms)进行合并,方法是将新文档转换为具有与文档tf值相同的语料库术语(简单合并)。然后以标准方式将tf除以语料库的IDF:
cs<-row_sums(tm>0)
lnrs<-log2(nDocs(tm)/cs)
tf*lnrs #
cs0)
lnrs我过去也有类似的问题,tm软件包中不包含此功能。Ingo Feiner建议构建一个函数来获取DocumentVector。该函数需要使用语料库和新文档中先前构建的tm或dtm。首先,以与语料库相同的方式预处理新文档,并创建一个包含单词和tf的列表。您可以将tm/dtm中的单词(例如tdm$dimnames$Terms)进行合并,方法是将新文档转换为具有与文档tf值相同的语料库术语(简单合并)。然后以标准方式将tf除以语料库的IDF:
cs<-row_sums(tm>0)
lnrs<-log2(nDocs(tm)/cs)
tf*lnrs #
cs0)
LNRS问题实际上与您的最后一句话有关“唯一的区别是您的新文档必须以与培训示例相同的方式进行处理(即删除stopwords、tf idf等)”。如何获取此文档向量?使用的模型与问题无关。在测试期间,您使用来自训练语料库的idf值,tf仅取决于测试文章。更实际的是:,或者问题实际上与您的最后一句话有关“唯一的区别是您的新文档必须以与培训示例相同的方式进行处理(即删除stopwords、tf idf等)”。如何获取此文档向量?使用的模型与问题无关。在测试期间,您使用来自训练语料库的idf值,tf仅取决于测试文章。更实际的是:,或者