我目前正在测试二进制SVM Java实现的培训阶段。 我已经测试了下面显示的小数据,但我需要将我的svm应用于已知的数据集,如垃圾邮件/非垃圾邮件,图像等。
为了找到一个真实的数据集,我搜索了不同的回购,但我能找到的只是数值+字符,文本等。
我找到了spam Archive。
通常输入的格式是正确的吗?
0 0 1
3 4 1
5 9 1
12 1 1
8 7 1
9 8 -1
6 12 -1
10 8 -1
8 5 -1
14 8 -1
如何将垃圾邮件存档数据转换为上述格式?
答案 0 :(得分:2)
关于功能选择的全部内容。输入当然是成对的文档和标签。但是特征提取包含在培训过程中。最简单的方法是二进制表示,我们在其中检查特定单词是否出现在某些特定文档中。它也称为术语频率:特征向量中的第i个分量是在一个文档中出现的时间词wi。这里的向量是一个既定的字典,包括训练文档中的所有单词。您还可以考虑逆文档频率:所有文档中出现的次数除以文档总数。 仅供参考,一篇关于垃圾邮件SVM的研究论文: http://classes.soe.ucsc.edu/cmps290c/Spring12/lect/14/00788645-SVMspam.pdf