将 SVM 分类器应用于看不见的新数据时,我遇到了错误消息。 (R 用户)

Posted

技术标签:

【中文标题】将 SVM 分类器应用于看不见的新数据时,我遇到了错误消息。 (R 用户)【英文标题】:When applying SVM classifier to unseen new data, I encounter an error message. (R user) 【发布时间】:2021-11-13 00:59:48 【问题描述】:

感谢您的关注和帮助。

我通过软件 R 构建了一个包含 30,000 行训练数据集的 Kernel SVM 分类器。

我使用了大约 2,000 个单词的特征来训练分类器。效果很好。

但是,当我尝试将分类器应用于新的文本数据集时,出现了问题。

因为新的文本文档-术语矩阵不包含分类器(列)中的所有 2000 字特征。

当然,我可以构建一个包含少量单词特征的分类器。然后,它在新的文本数据上工作,但性能不是那么好。

你如何解决这个问题?

那么,如何解决新的文本数据集没有SVM分类器中所有单词特征的问题?

【问题讨论】:

至少看看你使用的代码会很有用。 【参考方案1】:

我问了一个问题并自己为其他用户回答。

我可能会找到解决方案。

问题在于训练集的 DTM 中的列(单词特征)和未见过的数据集不同。

因此,在制作未见过数据集的 DTM 时,使用 trainset 的 DTM 的单词特征作为字典。

例如,

功能

unseen_dtm

最后,两个 dtm(train / unseen) 中的列是相同的。所以,SVM 在 unseen_dtm 上工作。

【讨论】:

以上是关于将 SVM 分类器应用于看不见的新数据时,我遇到了错误消息。 (R 用户)的主要内容,如果未能解决你的问题,请参考以下文章

基于SVM的分类器Python实现

从训练有素的分类器 python #Scikitlearn #SVM 进行预测

SVM 可以预测看不见的表达吗

在最终模型中保存预处理步骤[重复]

sklearn 绘制来自 SVM 分类器的结果

请帮助我选择正确的分类器