我正在使用SVM-pref(http://svmlight.joachims.org)来解决二进制分类问题。我对这个软件包没有多少经验,因此我寻求以下问题的帮助:
(1)我的功能都是离散的/名义上的。是否有一种特殊的方式来表示特征向量,例如将标称值转换为连续值的特殊方法,或者我们只是替换虚拟数字的标称值,如1,2,3等等?
(2)如果第一个问题的答案是我们用虚拟数字替换名义值,那么我的第二个问题是我们从1开始编号特征值,所以我们有1:1而不是1:0否则学习者会考虑零值特征,因为不存在。那是对的吗?
(3)如何配置最佳-c值和其余参数的值?是仅通过错误和试验还是用其他方法来决定这些参数?
答案 0 :(得分:1)
要在SVM中使用分类特征,必须使用虚拟变量对它们进行编码,例如: one-hot coding。对于该类别的每个级别,您应该引入一个维度。对于级别为A
,B
和C
的要素,此类似的内容:
A - > [1,0,0]
B - > [0,1,0]
C - > [0,0,1]
请参阅上一个问题的答案:每个分类级别使用一个维度。
通常,这是通过在cross-validation设置中测试可能的值来完成的。
答案 1 :(得分:0)