感谢您的关注和帮助。
我用r软件构建了一个包含30,000行训练数据集的Kernel SVM分类器。
我使用了大约2000个单词的特征来训练分类器。
但是,当我试图将分类器应用于新的文本数据集时,问题发生了。
因为新的文本文档术语矩阵不包含分类器(列)中所有的2000字特征。
当然,我可以用少量的单词特征构建一个分类器。然后,它处理新的文本数据,但性能不是那么好。
你如何解决这个问题?
那么,如何解决新文本数据集不具备SVM分类器中所有单词特征的问题呢?
我问了一个问题,并为其他用户自己回答。
我可能会找到解决办法。
问题在于训练集的DTM中的列(单词特征)和未见过的数据集是不同的。
因此,在为未见过的数据集制作DTM时,使用火车集的DTM中的单词特征作为字典。
例如,
features <- trainset_dtm$dimnames$Terms
unseen_dtm <- DocumentTermMatrix(unseen_cropus, control = list(dictionary=features))
最后,两个dtm(train/unseen)中的列是相同的。因此,SVM在unseen_dtm上工作。