From d08f17c9dd4d6b68c15061849bf8ffe14e6cb895 Mon Sep 17 00:00:00 2001 From: leepei Date: Mon, 11 Feb 2013 01:39:46 +0800 Subject: [PATCH] Let nr_fold = l when nr_fold > l in CV Signed-off-by: Po-Wei Wang --- linear.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/linear.cpp b/linear.cpp index 1dc8056..6fade58 100644 --- a/linear.cpp +++ b/linear.cpp @@ -2409,10 +2409,15 @@ model* train(const problem *prob, const parameter *param) void cross_validation(const problem *prob, const parameter *param, int nr_fold, double *target) { int i; - int *fold_start = Malloc(int,nr_fold+1); + int *fold_start; int l = prob->l; int *perm = Malloc(int,l); - + if (nr_fold > l) + { + nr_fold = l; + fprintf(stderr,"WARNING: # folds > # data. Will use # folds = # data instead (i.e., leave-one-out cross validation)\n"); + } + fold_start = Malloc(int,nr_fold+1); for(i=0;i