繁体   English   中英

R中的分类/预测

[英]Classification/Prediction in R

我有N个文档分类为垃圾邮件 / 非垃圾邮件 我正在按照标准程序对R( 这里的代码 )中的数据进行预处理。 预处理与结束DocumenTermMatrix使用权重作为TFIDF。

现在,我想用模型对新文档进行分类。

如何为单个新文档计算相应的DocumentVector (使用DocumentVectortf和语料库的idfs )? 我想避免为整个主体重新计算DocumentTermMatrix

过去我也遇到过类似的问题,并且此功能未包含在tm软件包中。 Ingo Feinerer建议构建一个函数来获取DocumentVector。 该功能将需要使用语料库和新文档中先前构建的tm或dtm。 首先以与语料库相同的方式对新文档进行预处理,并创建一个包含单词和tf的列表。 您可以合并tm / dtm中的单词(例如tdm $ dimnames $ Terms),以这种方式将新文档转换为具有与该文档的tf值相同的语料库术语(简单合并)。 然后以标准方式将tf除以语料库的idfs:

cs<-row_sums(tm>0)
 lnrs<-log2(nDocs(tm)/cs)
 tf*lnrs  # 

完成返回您的DocumentVector。 然后,当直接通过SVM进行预测时,可以将vector用作data.frame。

我不知道您使用的是哪个svm库,但是看来您的SVM模型存储在Corpus.svm -对吗?

要预测新文档,可以按照以下步骤进行描述: http : //planatscher.net/svmtut/svmtut.html任务2。如果使用其他库,则过程将相似。 IRIS数据集也有实际示例。 唯一的区别是新文档的处理方式必须与培训示例相同(例如,删除停用词,tf-idf等)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM