Bonjour,
J'ai exécuté avec succès le SVM sur mes données. Mais maintenant j'aimerais reconstituer la formule litterale pour pouvoir l'utiliser par la suite dans un programme dans un autre langage. Je dois donc retomber sur les valeur de predict avec ma fonction calculSVM mais je n'y parviens pas et je ne comprend pas pourquoi
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 library(e1071) model <- svm(cote ~ .,data,kernel='radial') predict(model, subset(data, select = - c(cote))) #première valeur 7.859053 alpha=model$coefs SV=model$SV gamma=model$gamma calculSVM <- function(alphaI,gammaI,SVI,X,rho){ ret=0 for(i in 1:length(alphaI)) { ret=ret+ alphaI[i] * exp(-gammaI*norm(as.matrix(SVI[i,]-X))^2) } ret-rho } calculSVM(alpha,gamma,SV,data[1,1:13],model$rho) #renvoit 0.8267699 (!=7.859053)
Partager