Hi Tao,

On Jul 7, 2009, at 8:33 PM, Tao Shi wrote:

Hi list,

Could someone help me to explain why the leave-one-out cross validation results I got from svm using the internal option "cross" are different from those I got manually? It seems using "cross" to do cross validation, the results are always better. Please see the code below. I also include lda as a comparison.

Looking at the C code in Rsvm.c, it looks like the model that is returned is one that is trained on *all* of the data that is originally passed in.

After the model is built, and the value for cross is > 1, the `do_cross_validation` function is called, in which your data is then split into folds for cross validation. This is only done to report accuracy or MSE (depending on classification vs. regression). The models from this CV do not effect the model that is returned back to R.

So ... that's why. If you train your svm without holding out any data (and do no cross validation), you should essentially get back the same model that you're getting back no when you set cross > 1.

Does that make sense?

-steve

--
Steve Lianoglou
Graduate Student: Physiology, Biophysics and Systems Biology
Weill Medical College of Cornell University

Contact Info: http://cbio.mskcc.org/~lianos

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to