如何使用 2 个数据集,1 个用于训练,1 个用于在 WEKA 上进行情感分析测试
Posted
技术标签:
【中文标题】如何使用 2 个数据集,1 个用于训练,1 个用于在 WEKA 上进行情感分析测试【英文标题】:How to use 2 dataset, 1 for training and 1 for testing on WEKA for sentiment analysis 【发布时间】:2019-05-24 13:34:08 【问题描述】:所以我有 3 个用于情绪分析的数据集,我只想使用 1 个数据集来构建模型,其余数据集用于测试目的。我将使用的模型是 SVM(SMO 算法)。开始时的数据集只有 2 个属性(文本、标签),但在用字符串预处理到 wordvector 后,它变成了许多属性。我能够构建一个模型并使用 10 倍交叉验证对其进行测试,现在我想使用其他数据集对其进行测试。但是由于字符串到词向量的不同,它具有不同的属性,所以我不能这样做。我的问题有什么解决方案吗?
我已经对测试集应用了相同的预处理并尝试使用“inputmappedclassifier”但结果仍然是错误
我希望该模型可以用于它从未见过的数据集
【问题讨论】:
【参考方案1】:见http://jmgomezhidalgo.blogspot.com/2013/05/mapping-vocabulary-from-train-to-test.html
如果您知道训练数据和测试数据,则可以使用批量过滤。
如果您不知道测试数据,那么您可以使用 FilteredClassfier 方法。检查http://jmgomezhidalgo.blogspot.com/2013/01/text-mining-in-weka-chaining-filters.html 和http://jmgomezhidalgo.blogspot.com/2013/04/a-simple-text-classifier-in-java-with.html
也可以看看How to use StringToWordVector (weka) in java?
【讨论】:
以上是关于如何使用 2 个数据集,1 个用于训练,1 个用于在 WEKA 上进行情感分析测试的主要内容,如果未能解决你的问题,请参考以下文章
如何将数据集中的每 5 个样本分配为测试数据集,将其余样本分配为训练数据集?