R LiblineaR权重不会随类标签而变化

时间:2013-11-16 17:16:47

标签: r classification svm feature-selection libsvm

我想在R中使用LiblineaR库,这对大型数据集有效。 (我想在wieghts上使用l1-norm进行特征选择,但与此问题无关)。我观察到的是,即使改变了类标签,重量也没有。这是一个例子;

x <- rbind(cbind(rnorm(100),rnorm(100)), cbind(rnorm(100,3), rnorm(100,3)))
y <- c(rep(1,100), rep(-1,100))
m <- LiblineaR(x,y)
m$W
       W1        W2    Bias
[1,] -1.238046 -1.437913 3.86309
y2 <- c(rep(-1,100), rep(1,100))
m2 <- LiblineaR(x,y2)
m2$W
       W1        W2    Bias
[1,] -1.238046 -1.437913 3.86309

因此,即使在翻转标签后,重量也保持不变。这对于特征选择是有问题的。

为什么会出现这种情况?

如果使用来自库e1071的svm,则原始权重(使用自定义函数计算)按预期翻转。

更新:我使用liblinear的c ++实现检查了相同的示例,结果权重按预期翻转了它们的符号。

0 个答案:

没有答案