支持R中数据实例加权的SVM软件包

时间:2018-06-27 17:59:23

标签: r svm libsvm

我正在寻找R中的SVM软件包,该软件包接受为每个数据实例指定权重。我找到了e1071包,它提供了带有 class.weights 参数的类加权选项,但是它不提供实例加权的任何选项。我还找到了wsvm软件包,但都没有提供该功能。我正在寻找R中的libsvm-weights-3.17之类的东西。

1 个答案:

答案 0 :(得分:2)

尝试使用此软件包:https://CRAN.R-project.org/package=WeightSVM

它使用'libsvm'的修改版本,并且能够处理实例加权。

例如。您已经模拟了数据(x,y)

x <- seq(0.1, 5, by = 0.05)
y <- log(x) + rnorm(x, sd = 0.2)

这是未加权的SVM:

model1 <- wsvm(x, y, weight = rep(1,99))

Blue dots is the unweighted SVM and do not fit the first instance well. We want to put more weights on the first several instances.

所以我们可以使用加权SVM:

model2 <- wsvm(x, y, weight = seq(99,1,length.out = 99))

Green dots is the weighted SVM and fit the first instance better.