Я заинтересован в подборе модели SVM для моих данных с штрафом Elastic SCAD. Я пытался использовать библиотеку punisedSVM для этого . Проблема в том, что по какой-то причине библиотека выводит нулевую модель, и я не уверен, где я ошибаюсь с кодированием.
Я приведу минимальный рабочий пример, чтобы показать, что я имею в виду.
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 по некоторым причинам является скалярным.
Если кто-то попробовал этот метод или мог бы помочь мне понять, что я делаю неправильно, я был бы очень признателен.