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
 |