[R] SVM - calculating values problem
PELE Benoît (Acoss)
beno|t@pe|e @end|ng |rom @co@@@|r
Wed Aug 28 12:34:46 CEST 2019
That is the first time that I am working on a SVM modeling and I would like to calculate by myself the result values from the SVM for each line of my database (named x_appr_svm).
First I tested a linear SVM model using the e1071 package and to calculate the individual results by myself I did the next things :
Retrieving the model coefficients : coef_svm<-t(svm$coefs) %*% x_appr_svm[svm$index,]
Calculating the values for each line : p2<-x_appr_svm %*% t(coef_svm) - svm$rho
Using the predict function to compare : p1<-attr(predict(object=svm, newdata=x_appr_svm, decision.values=T), "decision.values")
--> p1 and p2 are the same.
Next I tested a polynomial SVM model using the same package and the same method knowing that the model parameters are :
degree=2, gamma=0.02, coef0=0.01
The calculation of the individual values becomes (I guess) : p2<-(0.02*x_appr_svm %*% t(coef_svm)+0.01)^2-svm$rho
--> p1 and p2 are really different!
Despite of my searching, I do not understand why or where is the problem in my second p2 formula. Do you see the mistake?
Thank you for your help and have a good day, Benoit (France).
[[alternative HTML version deleted]]
More information about the R-help