答案 0 :(得分:3)
你可以留意libsvm guide for beginners,在C.1部分,它会给你答案,并提供你所问的确切例子:
C.1实例数<<功能数量
中的许多微阵列数据生物信息学就属于这种类型。我们考虑来自白血病的数据 LIBSVM数据集(http://www.csie.ntu.edu.tw/~cjlin/libsvmtools/ 数据集)。训练和测试集有38个和34个实例, 分别。功能的数量是7,129,远大于 实例数。我们合并了两个les并比较了十字架 使用RBF和线性内核的验证准确度:
带参数选择的RBF内核
$ cat leu leu.t> leu.combined
$ python grid.py leu.combined
...
8.0 3.0517578125e-05 97.2222
(Best C = 8.0,= 0:000030518,ve-fold交叉验证率= 97.2222%)
带参数选择的线性内核
$ python grid.py -log2c -1,2,1 -log2g 1,1,1 -t 0 leu.combined
...
0.5 2.0 98.6111
(最佳C = 0.5,ve折叠交叉验证率= 98.61111%)
虽然grid.py是为RBF内核设计的,但是 上面的方法使用线性内核检查各种C(-log2g 1,1,1 set 一个假人)。
使用线性内核的交叉验证准确性 与使用RBF内核相当。显然,当 功能数量非常大,可能不需要映射数据。
除了LIBSVM之外,下面提到的LIBLINEAR软件也是如此 在这种情况下对数据有效。
因此,您可以看到您可以将SVM与线性内核一起使用并获得良好的结果。