Wolfgang Meyer
2005-Aug-16 12:23 UTC
[R] different leave-one-out cross-validation results from tune.svm(...) and svm(...)
Hi, I am currently using the svm functions from R package e1071 (1.5-9). I use function tune.svm(...) to tune the parameters for SVM with RBF kernel. To obtain reproducible tuning results, I chose leave-one-out cross-validation (LOOCV) as my perfomance measurement.> tune.rlt <- tune.svm(classes~., data = data.frame(features, classes),gamma = 2^(-12:0), cost = 2^(0:12), tunecontrol = tune.control(cross length(cls))) With this LOOCV scheme I obtained certain best performance with tuned parameters (gamma1, cost1). Let's assume the best error estimation in tune.rlt is E. Then I trained a SVM with these parameters (gamma1 & cost1). I also ask it to return LOOCV results:> svm.rlt <- svm(classes~., data = data.frame(features, classes),gamma=gamma1, cost=cost1, cross=length(classes)) And I obtain LOOCV accuracy from svm.rlt, let's assume it is A. Unfortunately, it is usually the case that E+A < 100% (it is not numerical error) Since I used LOOCV as the perfomance measurement, I suppose E+A =100% Why is this the case? -- Wolfgang Meyer