我对用Elastic SCAD罚款将SVM模型拟合到我的数据感兴趣。我正在尝试使用penalizedSVM library for this。问题是由于某种原因,该库输出了一个空模型,并且我不确定编码在哪里出错。
我将提供一个最小的工作示例来说明我的意思。
library("penalizedSVM")
X=matrix(c(3, 2, 4, 1, 2, 4, 4, 4, 2, 4, 4, 1, 3, 1),nrow=7 )
Y=c(-1, -1, -1, -1, 1, 1, 1)
#Note this is linearly separable
plot(X[,1], X[,2], pch=16, col=Y+2)
#penalty weights
lambda.grid1=list(10^seq(-2,1))
lambda.grid2=lambda.grid1
scadfit1=svmfs(X,Y, fs.method="scad+L2", grid.search="discrete",
lambda1.set = lambda.grid1 , lambda2.set = lambda.grid2,
bounds=NULL, parms.coding = "none", inner.val.method = "cv", cross.inner =10, show="none", calc.class.weights = TRUE, class.weights = NULL, seed=1)
#returns null
scadfit1
#is scalar
scadfit1$model$w
另外,由于某些原因,w向量是标量。 如果有人尝试过这种方法,或者可以帮助我理解我做错了什么,我将非常感激。