-
Notifications
You must be signed in to change notification settings - Fork 22
Description
Pedro,
Fiz um teste rápido aqui e percebi uma diferença na previsão dos dois pacotes em alguns conjuntos de dados. No exemplo abaixo, usando o conjunto 1 os resultados são diferentes, mas no conjunto 2 eles são iguais. Percebi que o gamma e os SV são também diferentes em ambos conjuntos. Depurei um pouco aqui e no conjunto 1 não há suportes de subida, que você usa para computar o gamma.
library(mlRFinance)
library(Matrix)
#Conjunto dados 1: Previsao mlRFinance diferente do libsvm
dados<-matrix(c(-1,-3,1,
0,2,1,
-7,2,2,
2,1.5,1.5,
3,4,4,
10,15,18,
5,16,40,
15,5,5,
7,17,4.5
),byrow=TRUE,nrow=9,ncol=3)
#Conjunto dados 2: Previsao mlRFinance igual do libsvm
dados<-matrix(c(-1,1,1,
0,2,1,
1,2,2,
2,1.5,1.5,
3,4,4,
4,4,5,
5,5,4,
6,5,5,
7,4.5,4.5
),byrow=TRUE,nrow=9,ncol=3)
X=dados[,c(2,3)]
Y=dados[,1]
csvrl1=CSVRL1(y = Y,X = X,C = 10,epsilon = 0.5,kernel = "Polynomial",parms = c(1,0))
Yp=PredictedCSVRL1(CSVRL1 =csvrl1,y = Y,X = X,Xprev=X)
install.packages("e1071")
library(e1071)
svm.model <- e1071::svm(X, y=Y, type="eps-regression",scale=FALSE,cost = 10,kernel="linear", probability = TRUE,epsilon=0.5)
svm.pred <- predict(svm.model,newdata = X,probability = TRUE)
#Estatísticas mlRFinance x e1071 ("libsvm")
#Pacote "mlRFinance"
#SV
csvrl1$SupportVectors
#gamma
csvrl1$gamma
#"previsao:"
Yp
#Pacote "e1071"
#SV
svm.model$coefs
#gamma
svm.model$gamma
#previsao:
svm.pred