我想用 SVM 编写一个垃圾邮件过滤器程序,我选择 libsvm 作为工具。
我收到了 1000 封好指甲和 1000 封垃圾邮件,然后我将它们分类为:
700 封 good_train 邮件 700 封 spam_train 邮件
300 封 good_test 邮件 300 封 spam_test 邮件
然后我编写了一个程序来计算每个文件中每个单词出现的时间,得到的结果如下:
good_train_1.txt:
today 3
hello 7
help 5
...
我了解到 libsvm 需要如下格式:
1 1:3 2:1 3:0
2 1:3 2:3 3:1
1 1:7 3:9
作为其输入。我知道 1, 2, 1 是标签,但是 1:3 是什么意思?
我怎样才能将我所拥有的内容转换为这种格式?
格式很可能是
classLabel attribute1:count1 ... attributeN:countN
N 是文本语料库中不同单词的总数。您必须检查您正在使用的工具(或其来源)的文档,看看是否可以通过不包含计数为 0 的属性来使用稀疏格式。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)