На самом деле я пытаюсь выполнить некоторую работу по классификации, используя 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)
Результат остается точно таким же.Почему это происходит?Что я должен делать по-другому?Какие-либо предложения?Заранее спасибо.