Почему моя точность SVM снижается после настройки, а должна увеличиваться? - PullRequest
0 голосов
/ 21 мая 2018

На самом деле я пытаюсь выполнить некоторую работу по классификации, используя svm, используя пакет e1071.Проблема в том, что перед настройкой, когда я использую функцию svm, я получаю точность около 58%, но затем, когда я пытаюсь настроить ее, точность значительно снижается на 10-47%.Я пробовал настраивать, используя разные значения стоимости и гаммы, но результат все тот же.Пример одного из моих кодов настройки, я предоставлю вам, ребята, здесь:

Код без настройки:

model<-svm(rating~.,data=train,kernel="radial")
summary(model)
Predictor<-predict(model,test)
confusionMatrix(table(Predictor,test$rating))

     summary(tune.svm(rating ~ ., data = train,
    +                  kernel = "radial", gamma = 10^(-1:1), cost = 10^(-1:1)))

    Parameter tuning of ‘svm’:

    - sampling method: 10-fold cross validation 

    - best parameters:
     gamma cost
       0.1  0.1

Для кода без настройки я получаю точность около 57%.Вот мой код с настройкой:

> tuned<-svm(rating~.,data=train,kernel="radial",cross=10,gamma=0.1,cost=0.1)
> Prediction<-predict(tuned,test)
> confusionMatrix(table(Prediction,test$rating))
Confusion Matrix and Statistics


Predictor_1   1   2   3
          1   0   0   0
          2 257 467 257
          3   0   0   0

Overall Statistics

               Accuracy : 0.476  

Я также попытался установить:

1. gamma = 10^c(-1:10), cost = 10^c(10,20,30,40,50,60,70,80,90,100)

2. gamma = 10^c(10,20,30,50,60,70,80,90,100), cost = 
   10^c(10,20,30,40,50,60,70,80,90,100)))

3. gamma = 10^c(-1:20), cost = 10^c(10,20,30,40,50,60,70,80,90,100)

Результат остается точно таким же.Почему это происходит?Что я должен делать по-другому?Какие-либо предложения?Заранее спасибо.

...