From 6d064658f8ae7ca0f42fef6dcc7f896144e9637b Mon Sep 17 00:00:00 2001 From: Gertjan van den Burg Date: Fri, 18 Oct 2013 15:48:59 +0200 Subject: restart using git --- src/crossval.c | 80 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 src/crossval.c (limited to 'src/crossval.c') diff --git a/src/crossval.c b/src/crossval.c new file mode 100644 index 0000000..9a3c1cc --- /dev/null +++ b/src/crossval.c @@ -0,0 +1,80 @@ +#include "crossval.h" +#include "matrix.h" +#include "MSVMMaj.h" + +void msvmmaj_make_cv_split(long N, long folds, long *cv_idx) +{ + long i, j, idx; + + long big_folds = N%folds; + long small_fold_size = N/folds; + + j = 0; + for (i=0; in; + long m = full_data->m; + long K = full_data->K; + + test_n = 0; + for (i=0; in = test_n; + train_data->n = train_n; + + train_data->K = K; + test_data->K = K; + + train_data->m = m; + test_data->m = m; + + train_data->y = Calloc(long, train_n); + test_data->y = Calloc(long, test_n); + + train_data->Z = Calloc(double, train_n*(m+1)); + test_data->Z = Calloc(double, test_n*(m+1)); + + k = 0; + l = 0; + for (i=0; iy[k] = full_data->y[i]; + for (j=0; jZ, m+1, k, j, + matrix_get(full_data->Z, m+1, i, j)); + k++; + } else { + train_data->y[l] = full_data->y[i]; + for (j=0; jZ, m+1, l, j, + matrix_get(full_data->Z, m+1, i, j)); + l++; + } + } +} -- cgit v1.2.3