123456789101112131415161718192021222324252627 |
- function f_accuracy = do_binary_cross_validation(y, x, param, nr_fold)
- len = length(y);
- rand_ind = randperm(len);
- dec_values = [];
- labels = [];
-
- % Cross training : folding
- for i = 1:nr_fold
- test_ind = rand_ind([floor((i-1)*len/nr_fold)+1:floor(i*len/nr_fold)]');
- train_ind = [1:len]';
- train_ind(test_ind) = [];
- model = train(y(train_ind),x(train_ind,:),param);
- [pred, acc, dec] = predict(y(test_ind),x(test_ind,:),model,'-q');
-
- if model.Label(1) < 0;
- dec = dec * -1;
- end
-
- dec_values = vertcat(dec_values, dec);
- labels = vertcat(labels, y(test_ind));
- end
-
- % final evaluation
- f_accuracy = validation_function(dec_values, labels);
- disp(sprintf('Cross Validation: %f', f_accuracy));
- end
|