SVM新手 - 对于培训数据,我有160个类别,从少数到多个会员术语和短语不等。有些类别的短语很少,有些则有数百个。
我有很多文本测试数据,具有广泛的主题变化。 我想我想要一个MultiClass,oneVsRest SVM,二元分类器。
1)1类SVM的训练输入应该是一组线 1 feature3:1 feature5:1 ... 对于正面成员资格,其中功能是一个术语/短语 来自班级成员列表 - 二元值是否足够? 和线 -1 feature1:1 feature2:1 feature4:1 ... 对于known_terms_of_interest字典中其他类的所有成员?
2)测试文档输入是否应该包含在known_terms_of_interest字典中找到的术语?
3)线性正确吗? - C 1? 或者因为某些RBF中的术语很少?
似乎示例以预处理文件而非原始文本开头;所以我错过了关键设置放置步骤,因为文档将介绍边距等等。
答案 0 :(得分:0)
1)1类SVM的训练输入应该是一组线 1个feature3:1 feature5:1 ...对于正面会员,其中 feature是类成员列表中的术语/短语 - 是Binary 价值足够吗?和-1的特征1:1 feature2:1 feature4:1 ... 对于词典中其他类的所有成员 known_terms_of_interest?
如果你的“featureX”是一个自然数(你的单词/短语的索引),那么你刚才描述了一组有效的单词表示。这是文本分类最基本的方法,但它应该有效(从某种意义上说 - 它是正确的)
2)测试文档输入是否应该包含在known_terms_of_interest字典中找到的术语?
他们必须只包括在训练阶段看到的单词/短语的特征(如前所述 - 作为索引)。如果你提供前所未见的功能,libsvm将无法运行。
3)线性正确吗? - C 1?或者因为某些RBF中的术语很少?
对于这样的问题没有答案,内核的类型和C的值(以及RBF的情况下的伽玛)必须使用一些泛化测试技术(如交叉验证)进行拟合。