Нулевой вывод для оштрафованного SVM? - PullRequest
0 голосов
/ 22 марта 2019

Я заинтересован в подборе модели 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 по некоторым причинам является скалярным. Если кто-то попробовал этот метод или мог бы помочь мне понять, что я делаю неправильно, я был бы очень признателен.

...