构建Svm训练集的困惑

时间:2013-11-22 04:22:32

标签: java algorithm machine-learning svm

我目前正在测试二进制SVM Java实现的培训阶段。 我已经测试了下面显示的小数据,但我需要将我的svm应用于已知的数据集,如垃圾邮件/非垃圾邮件,图像等。

  1. 我的SVM能够读取数值,因此我还需要使用一些真实数据进行测试。
  2. 后来我想继续拍摄照片。
  3. 为了找到一个真实的数据集,我搜索了不同的回购,但我能找到的只是数值+字符,文本等。

    我找到了spam Archive

    1. 但我该如何处理?
    2. 我想我需要使用tfidf将文本转换为数字数据,然后应用我的SVM。
    3. 但我如何将它们表示为1 / -1类。
    4. 通常输入的格式是正确的吗?

      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
      

      如何将垃圾邮件存档数据转换为上述格式?

1 个答案:

答案 0 :(得分:2)

关于功能选择的全部内容。输入当然是成对的文档和标签。但是特征提取包含在培训过程中。最简单的方法是二进制表示,我们在其中检查特定单词是否出现在某些特定文档中。它也称为术语频率:特征向量中的第i个分量是在一个文档中出现的时间词wi。这里的向量是一个既定的字典,包括训练文档中的所有单词。您还可以考虑逆文档频率:所有文档中出现的次数除以文档总数。 仅供参考,一篇关于垃圾邮件SVM的研究论文: http://classes.soe.ucsc.edu/cmps290c/Spring12/lect/14/00788645-SVMspam.pdf