Kri*_*a M 5 .net c# machine-learning svm libsvm
我正在尝试使用SVM进行新闻文章分类.
我创建了一个包含功能(在文档中找到的唯一单词)作为行的表.我创建了具有这些功能的权重向量映射.即,如果文章的单词是特征向量表的一部分,则该位置被标记为1
或者0
.
例如: - 培训样本生成...
1 1:1 2:1 3:1 4:1 5:1 6:1 7:1 8:1 9:1 10:1 11:1 12:1 13:1 14:1 15:1 16:1 17 :1 18:1 19:1 20:1 21:1 22:1 23:1 24:1 25:1 26:1 27:1 28:1 29:1 30:1
由于这是第一个文件,所有功能都存在.
我正在使用1
,0
作为类标签.
我使用svm.Net进行分类.
我给出了300
手动分类为训练数据的权重向量,并且生成的模型将所有向量作为支持向量,这肯定是过度拟合的.
我的总功能(unique words/row count
在功能向量数据库表中)是7610
.
可能是什么原因?
由于这种过度拟合,我的项目现在状况非常糟糕.它将每篇文章分类为正面文章.
在LibSVM中,二进制分类是否对类标签有任何限制?
我正在使用0
,1
而不是-1
和+1
.那是问题吗?
正如所指出的,在执行其他操作之前进行参数搜索可能是一个好主意。
我还将研究可供您使用的不同内核。事实上,您输入的数据是二进制的,这可能会给 RBF 内核带来问题(或者与另一个内核相比,可能会导致其使用不是最佳)。不过,我不知道哪个内核更适合。尝试线性内核,并四处寻找更多建议/想法:)
如需更多信息和更好的答案,请访问 stats.stackexchange.com。
归档时间: |
|
查看次数: |
2868 次 |
最近记录: |