mirror of
https://github.com/KevinMidboe/linguist.git
synced 2025-10-29 17:50:22 +00:00
32 lines
748 B
Matlab
32 lines
748 B
Matlab
function [ error ] = cross_validation(x,y,hyper_parameter)
|
|
|
|
num_data = size(x,1);
|
|
|
|
K = 10;
|
|
indices = crossvalind('Kfold', num_data, K);
|
|
|
|
errors = zeros(K,1);
|
|
for i = 1:K
|
|
% get indices
|
|
test_idx = (indices == i);
|
|
train_idx = ~test_idx;
|
|
|
|
% get training data
|
|
x_train = x(train_idx,:);
|
|
y_train = y(train_idx,:);
|
|
|
|
% train
|
|
w = train(x_train, y_train, hyper_parameter);
|
|
|
|
% get test data
|
|
x_test = x(test_idx,:);
|
|
y_test = y(test_idx,:);
|
|
|
|
% calculate error
|
|
errors(i) = calc_cost(x_test, y_test, w, hyper_parameter); %calc_error
|
|
%errors(i) = calc_error(x_test, y_test, w);
|
|
end
|
|
|
|
error = mean(errors);
|
|
end
|